diff options
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 3162 |
1 files changed, 141 insertions, 3021 deletions
@@ -1392,8 +1392,8 @@ Function639b: ; unreferenced ld a, [wcf65] and $3 ret nz - ld bc, wc3a4 - ld hl, $a + ld bc, SpriteAnim10 + ld hl, SpriteAnim10FrameIndex - SpriteAnim10 add hl, bc ; over-the-top compicated way to load wc3ae into hl ld l, [hl] ld h, 0 @@ -1418,18 +1418,19 @@ endr ret z ld e, a ld d, [hl] - ld a, $1 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_01 + call _InitSpriteAnimStruct ret ; 63ca Data63ca: ; 63ca - dw $505c, 0 - dw $685c, $585c - dw $685c, $785c - dw $885c, $785c - dw 0, $785c - dw 0, $585c +; frame 0 y, x; frame 1 y, x + db $5c, $50, $00, $00 + db $5c, $68, $5c, $58 + db $5c, $68, $5c, $78 + db $5c, $88, $5c, $78 + db $00, $00, $5c, $78 + db $00, $00, $5c, $58 ; 63e2 Copyright: ; 63e2 @@ -2323,12 +2324,12 @@ Function6fa1: ; 6fa1 inc e .asm_6fc2 - call Function2a3c + call GetCoordTile call GetTileCollision pop de and a jr nz, .asm_6fd7 - call Function2a3c + call GetCoordTile call GetTileCollision and a jr nz, .asm_6fd7 @@ -4847,42 +4848,42 @@ CheckOverworldTileArrays: ; c840 CutTreeBlockPointers: ; c862 ; Which tileset are we in? - dbw $01, .one - dbw $02, .two - dbw $03, .three - dbw $19, .twentyfive - dbw $1f, .thirtyone + dbw TILESET_JOHTO_1, .one + dbw TILESET_JOHTO_2, .two + dbw TILESET_KANTO, .three + dbw TILESET_PARK, .twentyfive + dbw TILESET_ILEX_FOREST, .thirtyone db -1 ; c872 .one: ; Johto OW ; Which meta tile are we facing, which should we replace it with, and does it affect encounters? - db $03, $02, $01 - db $5b, $3c, $00 - db $5f, $3d, $00 - db $63, $3f, $00 - db $67, $3e, $00 + db $03, $02, $01 ; grass + db $5b, $3c, $00 ; tree + db $5f, $3d, $00 ; tree + db $63, $3f, $00 ; tree + db $67, $3e, $00 ; tree db -1 ; c882 .two: ; Goldenrod area - db $03, $02, $01 + db $03, $02, $01 ; grass db -1 ; c886 .three: ; Kanto OW - db $0b, $0a, $01 - db $32, $6d, $00 - db $33, $6c, $00 - db $34, $6f, $00 - db $35, $4c, $00 - db $60, $6e, $00 + db $0b, $0a, $01 ; grass + db $32, $6d, $00 ; tree + db $33, $6c, $00 ; tree + db $34, $6f, $00 ; tree + db $35, $4c, $00 ; tree + db $60, $6e, $00 ; tree db -1 ; c899 .twentyfive: ; National Park - db $13, $03, $01 - db $03, $04, $01 + db $13, $03, $01 ; grass + db $03, $04, $01 ; grass db -1 ; c8a0 @@ -4892,7 +4893,7 @@ CutTreeBlockPointers: ; c862 ; c8a4 WhirlpoolBlockPointers: ; c8a4 - dbw $01, .one + dbw TILESET_JOHTO_1, .one db -1 ; c8a8 @@ -7325,25 +7326,25 @@ Functiond4e5: ; d4e5 (3:54e5) Jumptable_d4f2: ; d4f2 (3:54f2) dw Function2914 dw BufferScreen - dw Functiond509 - dw Functiond510 - dw Functiond508 - dw Functiond508 - dw Functiond508 - dw Functiond508 - dw Functiond508 - dw Functiond508 - dw Functiond508 + dw .mobile + dw .fail2 + dw .fail1 + dw .fail1 + dw .fail1 + dw .fail1 + dw .fail1 + dw .fail1 + dw .fail1 -Functiond508: ; d508 (3:5508) +.fail1: ; d508 (3:5508) ret -Functiond509: ; d509 (3:5509) +.mobile: ; d509 (3:5509) callba MobileFn_10602e ret -Functiond510: ; d510 (3:5510) +.fail2: ; d510 (3:5510) ret Functiond511: ; d511 (3:5511) @@ -7383,25 +7384,29 @@ Functiond536: ; d536 (3:5536) cp $3 jr z, .asm_d567 ret + .asm_d549 call Functiond571 call LoadMapPart - call Function2748 + call ScrollMapUp ret + .asm_d553 call Functiond5a2 call LoadMapPart - call Function272a + call ScrollMapDown ret + .asm_d55d call Functiond5d5 call LoadMapPart - call Function2771 + call ScrollMapLeft ret + .asm_d567 call Functiond5fe call LoadMapPart - call Function278f + call ScrollMapRight ret Functiond571: ; d571 (3:5571) @@ -10417,9 +10422,9 @@ Function11e9a: ; 11e9a (4:5e9a) ld hl, wc300 ld [hli], a ld [hl], a - ld de, $1810 - ld a, $0 - call Function3b2a + lb de, $18, $10 + ld a, SPRITE_ANIM_INDEX_00 + call _InitSpriteAnimStruct ld hl, $2 add hl, bc ld [hl], $0 @@ -10550,8 +10555,8 @@ Jumptable_12017: ; 12017 (4:6017) Function1201b: ; 1201b (4:601b) lb de, $48, $10 - ld a, $9 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_09 + call _InitSpriteAnimStruct ld a, c ld [wc6d5], a ld a, b @@ -11332,7 +11337,7 @@ Function140ed:: ; 140ed ret ; 1412a -INCLUDE "engine/sprites.asm" +INCLUDE "engine/overworld.asm" Function1499a:: ; 1499a ld a, [PlayerStandingTile] @@ -25858,7 +25863,7 @@ Function49496: ; 49496 LoadSpecialMapPalette: ; 494ac ld a, [wTileset] - cp TILESET_GOLDENROD_POKECOM_CENTER_2F_MOBILE + cp TILESET_POKECOM_CENTER jr z, .pokecom_2f cp TILESET_BATTLE_TOWER jr z, .battle_tower @@ -26256,9 +26261,9 @@ Special_CelebiShrineEvent: ; 4989a xor a ld [VramState], a call LoadCelebiGFX - ld de, $750 - ld a, $2c - call Function3b2a + lb de, $07, $50 + ld a, SPRITE_ANIM_INDEX_2C + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $84 @@ -26358,8 +26363,8 @@ Function49944: ; 49944 add $40 ld d, a ld e, $0 - ld a, $18 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_18 ; fly land + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $80 @@ -29187,6 +29192,8 @@ ScrollBGMapPalettes:: ; 4c03f push hl srl a jr c, .UpperNybble + +; .LowerNybble ld hl, TilesetPalettes add [hl] ld l, a @@ -39081,8 +39088,8 @@ ShakeHeadbuttTree: ; 8c80a lb bc, BANK(HeadbuttTreeGFX), 8 call Request2bpp call Function8cad3 - ld a, $1b - call Function3b2a + ld a, SPRITE_ANIM_INDEX_1B + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $84 @@ -39231,8 +39238,8 @@ endr Function8ca23: ; 8ca23 (23:4a23) call Function8cad3 - ld a, $17 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_17 ; leaf + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $84 @@ -39281,8 +39288,8 @@ Function8ca64: ; 8ca64 (23:4a64) Function8ca73: ; 8ca73 (23:4a73) push de push af - ld a, $16 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_16 ; fly takeoff + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $80 @@ -39369,9 +39376,9 @@ Function8caed: ; 8caed xor a ld [VramState], a call Function8cb9b - ld de, $5450 - ld a, $a - call Function3b2a + lb de, $54, $50 + ld a, SPRITE_ANIM_INDEX_0A + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $84 @@ -39403,9 +39410,9 @@ Function8cb33: ; 8cb33 xor a ld [VramState], a call Function8cb9b - ld de, $fc50 - ld a, $a - call Function3b2a + lb de, $fc, $50 + ld a, SPRITE_ANIM_INDEX_0A + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $84 @@ -39501,8 +39508,8 @@ Function8cbe6: ; 8cbe6 (23:4be6) add $40 ld d, a ld e, $0 - ld a, $18 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_18 ; fly land + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $80 @@ -39834,7 +39841,7 @@ Function8ce19: ; 8ce19 ld d, $55 ld a, [wd194 + 1] ld e, a - ld b, $15 + ld b, SPRITE_ANIM_INDEX_15 ld a, [rSVBK] push af ld a, $1 @@ -39842,13 +39849,13 @@ Function8ce19: ; 8ce19 ld a, [PlayerGender] bit 0, a jr z, .asm_8ce31 - ld b, $1f + ld b, SPRITE_ANIM_INDEX_1F .asm_8ce31 pop af ld [rSVBK], a ld a, b - call Function3b2a + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $0 @@ -40000,2896 +40007,7 @@ Function8cf4f: ; 8cf4f ; 8cf53 -Function8cf53: ; 8cf53 - ld hl, wc300 - ld bc, $c1 -.asm_8cf59 - ld [hl], $0 - inc hl - dec bc - ld a, c - or b - jr nz, .asm_8cf59 - ret -; 8cf62 - -Function8cf62: ; 8cf62 - call Function8cf69 - call DelayFrame - ret -; 8cf69 - -Function8cf69: ; 8cf69 - push hl - push de - push bc - push af - - ld a, $0 - ld [wc3b5], a - call Function8cf7a - - pop af - pop bc - pop de - pop hl - ret -; 8cf7a - -Function8cf7a: ; 8cf7a - ld hl, wc314 - ld e, 10 ; There are 10 structs here. - -.loop - ld a, [hl] - and a - jr z, .next ; This struct is deinitialized. - ld c, l - ld b, h - push hl - push de - call Function8d24b ; Uses a massive jumptable - call LoadBouncingMonIcon - pop de - pop hl - jr c, .done - -.next - ld bc, $10 - add hl, bc - dec e - jr nz, .loop - - ld a, [wc3b5] - ld l, a - ld h, Sprites / $0100 - -.loop2 ; Clear (Sprites + [wc3b5] --> SpritesEnd) - ld a, l - cp SpritesEnd % $100 - jr nc, .done - xor a - ld [hli], a - jr .loop2 - -.done - ret -; 8cfa8 - -Function8cfa8: ; 8cfa8 (23:4fa8) - ld hl, wc314 - ld e, 10 - -.loop - ld a, [hl] - and a - jr z, .next - ld c, l - ld b, h - push hl - push de - call Function8d24b ; Uses a massive jumptable - call LoadBouncingMonIcon - pop de - pop hl - jr c, .done - -.next - ld bc, $10 - add hl, bc - dec e - jr nz, .loop - - ld a, [wc3b5] - ld l, a - ld h, (Sprites + $40) / $100 - -.loop2 ; Clear (Sprites + [wc3b5] --> Sprites + $40) - ld a, l - cp (Sprites + $40) % $100 - jr nc, .done - xor a - ld [hli], a - jr .loop2 - -.done - ret - -Function8cfd6:: ; 8cfd6 -; Find if there's any room in the wc314 array, which is 10x16 - push de - push af - ld hl, wc314 - ld e, 10 -.loop - ld a, [hl] - and a - jr z, .found - ld bc, $10 - add hl, bc - dec e - jr nz, .loop -; We've reached the end. There is no more room here. -; Return carry. - pop af - pop de - scf - ret - -.found -; Back up the structure address to bc. - ld c, l - ld b, h -; Value [wc3b4] is initially set to -1. Set it to -; the number of objects loaded into this array. - ld hl, wc3b4 - inc [hl] - ld a, [hl] - and a - jr nz, .initialized - inc [hl] - -.initialized -; Get row a of Unknown_8d1c4, copy the pointer into de - pop af - ld e, a - ld d, 0 - ld hl, Unknown_8d1c4 -rept 3 - add hl, de -endr - ld e, l - ld d, h -; Set hl to the first field (field 0) in the current structure. - ld hl, 0 - add hl, bc -; Load the index. - ld a, [wc3b4] - ld [hli], a -; Copy the table entry to the next two fields. - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de -; Look up the third field from the table in the wc300 array (10x2). -; Take the value and load it in - ld a, [de] - call LookUpInwDict_c300 - ld [hli], a - pop de -; Set hl to field 4. Kinda pointless, because we're presumably already here. - ld hl, $4 - add hl, bc -; Load the original value of de into here. - ld a, e - ld [hli], a - ld a, d - ld [hli], a -; load 0 into the next four fields - xor a -rept 2 - ld [hli], a -endr - xor a -rept 2 - ld [hli], a -endr -; load -1 into the next field - dec a - ld [hli], a -; load 0 into the last five fields - xor a -rept 4 - ld [hli], a -endr - ld [hl], a -; back up the address of the first field to wc3b8 - ld a, c - ld [wc3b8], a - ld a, b - ld [wc3b8 + 1], a - ret -; 8d036 - -Function8d036: ; 8d036 -; Clear the index field of the struct in bc. - ld hl, 0 - add hl, bc - ld [hl], $0 - ret -; 8d03d - - -Function8d03d: ; 8d03d (23:503d) -; Clear the index field of every struct in the wc314 array. - ld hl, wc314 - ld bc, $10 - ld e, 10 - xor a -.loop - ld [hl], a - add hl, bc - dec e - jr nz, .loop - ret - - -LoadBouncingMonIcon: ; 8d04c -; Populate Sprites with the bouncing mon icons - call Function8d0ec - call Function8d132 - cp EGG - jr z, .done - cp NUM_POKEMON + 1 - jr z, .almost - call Function8d1a2 - ld a, [wc3ba] - add [hl] - ld [wc3ba], a - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - push bc - ld a, [wc3b5] - ld e, a - ld d, Sprites / $100 - ld a, [hli] - ld c, a -.loop - ld a, [wc3bc] - ld b, a - ld a, [wc3be] - add b - ld b, a - ld a, [wc3bf] - add b - ld b, a - call Function8d0be - add b - ld [de], a - inc hl - inc de - ld a, [wc3bb] - ld b, a - ld a, [wc3bd] - add b - ld b, a - ld a, [wc3c0] - add b - ld b, a - call Function8d0ce - add b - ld [de], a - inc hl - inc de - ld a, [wc3ba] - add [hl] - ld [de], a - inc hl - inc de - call Function8d0de - ld [de], a - inc hl - inc de - ld a, e - ld [wc3b5], a - cp SpritesEnd % $100 - jr nc, .outofroom - dec c - jr nz, .loop - pop bc - jr .done - -.almost - call Function8d036 - -.done - and a - ret - -.outofroom - pop bc - scf - ret -; 8d0be - -Function8d0be: ; 8d0be - push hl - ld a, [hl] - ld hl, wc3b8 - bit 6, [hl] - jr z, .ok - add $8 - xor $ff - inc a - -.ok - pop hl - ret -; 8d0ce - -Function8d0ce: ; 8d0ce - push hl - ld a, [hl] - ld hl, wc3b8 - bit 5, [hl] - jr z, .ok - add $8 - xor $ff - inc a - -.ok - pop hl - ret -; 8d0de - -Function8d0de: ; 8d0de - ld a, [wc3b8] - ld b, a - ld a, [hl] - xor b - and $e0 - ld b, a - ld a, [hl] - and $1f - or b - ret -; 8d0ec - -Function8d0ec: ; 8d0ec - xor a - ld [wc3b8], a - ld hl, $3 - add hl, bc - ld a, [hli] - ld [wc3ba], a - ld a, [hli] - ld [wc3bb], a - ld a, [hli] - ld [wc3bc], a - ld a, [hli] - ld [wc3bd], a - ld a, [hli] - ld [wc3be], a - ret -; 8d109 - -LookUpInwDict_c300: ; 8d109 -; a = wDict_c300[a] if a in wDict_c300 else 0 - push hl - push bc - ld hl, wDict_c300 - ld b, a - ld c, 10 -.loop - ld a, [hli] - cp b - jr z, .ok - inc hl - dec c - jr nz, .loop - xor a - jr .done - -.ok - ld a, [hl] - -.done - pop bc - pop hl - ret -; 8d120 - -Function8d120:: ; 8d120 - ld hl, $1 - add hl, bc - ld [hl], a - ld hl, $8 - add hl, bc - ld [hl], $0 - ld hl, $a - add hl, bc - ld [hl], $ff - ret -; 8d132 - - -Function8d132: ; 8d132 -.loop - ld hl, $8 - add hl, bc - ld a, [hl] - and a - jr z, .ok - dec [hl] - call Function8d189 - ld a, [hli] - push af - jr .skip - -.ok - ld hl, $a - add hl, bc - inc [hl] - call Function8d189 - ld a, [hli] - cp $fe - jr z, .minus_2 - cp $ff - jr z, .minus_1 - push af - ld a, [hl] - push hl - and $3f - ld hl, $9 - add hl, bc - add [hl] - ld hl, $8 - add hl, bc - ld [hl], a - pop hl - -.skip - ld a, [hl] - and $c0 - srl a - ld [wc3b8], a - pop af - ret - -.minus_1 - xor a - ld hl, $8 - add hl, bc - ld [hl], a - ld hl, $a - add hl, bc -rept 2 - dec [hl] -endr - jr .loop - -.minus_2 - xor a - ld hl, $8 - add hl, bc - ld [hl], a - dec a - ld hl, $a - add hl, bc - ld [hl], a - jr .loop -; 8d189 - -Function8d189: ; 8d189 - ; Get the [bc+10]th entry in the data table - ; indexed at [bc+1] in Unknown_8d6e6 - ld hl, $1 - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, Unknown_8d6e6 -rept 2 - add hl, de -endr - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $a - add hl, bc - ld l, [hl] - ld h, 0 - add hl, hl - add hl, de - ret -; 8d1a2 - -Function8d1a2: ; 8d1a2 - ld e, a - ld d, 0 - ld hl, Unknown_8d94d -rept 3 - add hl, de -endr - ret -; 8d1ac - -Function8d1ac: ; unreferenced - push hl - ld l, a - ld h, 0 -rept 2 - add hl, hl -endr - ld de, Unknown_8e706 - add hl, de - ld c, [hl] - inc hl - ld b, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - pop hl - push bc - call Request2bpp - pop bc - ret -; 8d1c4 - -Unknown_8d1c4: ; 8d1c4 - db $01, JUMPTABLE_8D24B_FUNCTION_01, $00 ; 00 - db $07, JUMPTABLE_8D24B_FUNCTION_04, $00 ; 01 - db $08, JUMPTABLE_8D24B_FUNCTION_05, $05 ; 02 - db $0a, JUMPTABLE_8D24B_FUNCTION_06, $00 ; 03 - db $0b, JUMPTABLE_8D24B_FUNCTION_07, $06 ; 04 - db $0c, JUMPTABLE_8D24B_FUNCTION_08, $06 ; 05 - db $0d, JUMPTABLE_8D24B_FUNCTION_09, $07 ; 06 - db $0e, JUMPTABLE_8D24B_FUNCTION_0A, $07 ; 07 - db $10, JUMPTABLE_8D24B_FUNCTION_0B, $07 ; 08 - db $08, JUMPTABLE_8D24B_FUNCTION_0C, $05 ; 09 - db $11, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 0a - db $12, JUMPTABLE_8D24B_FUNCTION_0D, $08 ; 0b - db $12, JUMPTABLE_8D24B_FUNCTION_0E, $08 ; 0c - db $12, JUMPTABLE_8D24B_FUNCTION_0F, $08 ; 0d - db $13, JUMPTABLE_8D24B_FUNCTION_10, $00 ; 0e - db $15, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 0f - db $16, JUMPTABLE_8D24B_FUNCTION_11, $00 ; 10 - db $17, JUMPTABLE_8D24B_FUNCTION_12, $00 ; 11 - db $18, JUMPTABLE_8D24B_FUNCTION_12, $00 ; 12 - db $19, JUMPTABLE_8D24B_FUNCTION_13, $00 ; 13 - db $1a, JUMPTABLE_8D24B_FUNCTION_14, $00 ; 14 - db $1b, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 15 - db $1d, JUMPTABLE_8D24B_FUNCTION_15, $00 ; 16 - db $1e, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 17 - db $1d, JUMPTABLE_8D24B_FUNCTION_17, $00 ; 18 - db $1f, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 19 - db $24, JUMPTABLE_8D24B_FUNCTION_19, $00 ; 1a - db $25, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 1b - db $20, JUMPTABLE_8D24B_FUNCTION_13, $00 ; 1c - db $26, JUMPTABLE_8D24B_FUNCTION_1A, $00 ; 1d - db $2d, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 1e - db $2e, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 1f - db $2f, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 20 - db $30, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 21 - db $31, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 22 - db $32, JUMPTABLE_8D24B_FUNCTION_1B, $00 ; 23 - db $33, JUMPTABLE_8D24B_FUNCTION_1C, $00 ; 24 - db $34, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 25 - db $35, JUMPTABLE_8D24B_FUNCTION_1D, $00 ; 26 - db $37, JUMPTABLE_8D24B_FUNCTION_1E, $00 ; 27 - db $38, JUMPTABLE_8D24B_FUNCTION_1E, $00 ; 28 - db $39, JUMPTABLE_8D24B_FUNCTION_20, $00 ; 29 - db $3f, JUMPTABLE_8D24B_FUNCTION_21, $00 ; 2a - db $3e, JUMPTABLE_8D24B_FUNCTION_22, $00 ; 2b - db $40, JUMPTABLE_8D24B_FUNCTION_00, $00 ; 2c -; 8d24b - - -Function8d24b: ; 8d24b - ld hl, $2 ; field 2, see the second column in the above table - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, .Jumptable -rept 2 - add hl, de -endr - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] -; 8d25b - - -.Jumptable: ; 8d25b (23:525b) - dw .zero - dw .one - dw .two - dw .three - dw .four - dw .five - dw .six - dw .seven - dw .eight - dw .nine - dw .ten - dw .eleven - dw .twelve - dw .thirteen - dw .fourteen - dw .fifteen - dw .sixteen - dw .seventeen - dw .eighteen - dw .nineteen - dw .twenty - dw .twentyone - dw .twentytwo - dw .twentythree - dw .twentyfour - dw .twentyfive - dw .twentysix - dw .twentyseven - dw .twentyeight - dw .twentynine - dw .thirty - dw .thirtyone - dw .thirtytwo - dw .thirtythree - dw .thirtyfour - - -.zero: ; 8d2a1 (23:52a1) - ret - -.one: ; 8d2a2 (23:52a2) - ld a, [MenuSelection2] - ld hl, 0 - add hl, bc - cp [hl] - jr z, .two - ld hl, $4 - add hl, bc - ld [hl], $10 - ld hl, $7 - add hl, bc - ld [hl], $0 - ret - -.two: ; 8d2b9 (23:52b9) - ld hl, $4 - add hl, bc - ld [hl], $18 - ld hl, $c - add hl, bc - ld a, [hl] - ld d, a - inc [hl] - and $f - ret nz - ld hl, $d - add hl, bc - ld e, [hl] - ld hl, $7 - add hl, bc - ld a, d - and $10 ; bit 4 - jr z, .asm_8d2df - ld a, e - and a - jr z, .asm_8d2e6 - cp $1 - jr z, .asm_8d2e2 -.asm_8d2df - xor a - ld [hl], a - ret -.asm_8d2e2 - ld a, $ff - ld [hl], a - ret -.asm_8d2e6 - ld a, $fe - ld [hl], a - ret - -.three: ; 8d2ea (23:52ea) - ld a, [MenuSelection2] - ld hl, 0 - add hl, bc - cp [hl] - jr z, .asm_8d2fb - ld hl, $4 - add hl, bc - ld [hl], $10 - ret -.asm_8d2fb - ld hl, $4 - add hl, bc - ld [hl], $18 - ret - -.four: ; 8d302 (23:5302) - call .anonymous_jumptable - jp [hl] -; 8d306 (23:5306) - -; Anonymous jumptable (see .anonymous_jumptable) - dw .four_zero - dw .four_one -; 8d30a - -.four_zero: ; 8d30a - call Function8d6d8 - ld hl, 0 - add hl, bc - ld a, [hl] - ld hl, $d - add hl, bc - and $3 - ld [hl], a - inc [hl] - swap a - ld hl, $c - add hl, bc - ld [hl], a - -.four_one: ; 8d321 - ld hl, $4 - add hl, bc - ld a, [hl] - cp $a4 - jr nc, .asm_8d356 - ld hl, $d - add hl, bc - add $4 - ld hl, $4 - add hl, bc - ld [hl], a - ld hl, $5 - add hl, bc - inc [hl] - ld hl, $d - add hl, bc - ld a, [hl] - sla a - sla a - ld d, $2 - ld hl, $c - add hl, bc - ld a, [hl] - add $3 - ld [hl], a - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - ret - -.asm_8d356 - call Function8d036 - ret -; 8d35a - -.twentyfive: ; 8d35a (23:535a) - ld hl, $c - add hl, bc - ld a, [hl] - inc a - ld [hl], a - ld d, $2 - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - ret - -.five: ; 8d36c (23:536c) - callab Function11a3b - ret - -.twelve: ; 8d373 (23:5373) - callab Function120c1 - ret - -.six: ; 8d37a (23:537a) - callab GameFreakLogoJumper - ret - -.seven: ; 8d381 (23:5381) - ld hl, $c - add hl, bc - ld a, [hl] - and a - jr z, .asm_8d3ba -rept 2 - dec [hl] -endr - ld d, a - and $1f - jr nz, .asm_8d395 - ld hl, $d - add hl, bc - dec [hl] -.asm_8d395 - ld hl, $b - add hl, bc - ld a, [hl] - push af - push de - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call Function8d6e2 - ld hl, $6 - add hl, bc - ld [hl], a - ld hl, $d - add hl, bc - ld a, [hl] - ld hl, $b - add hl, bc - add [hl] - ld [hl], a - ret -.asm_8d3ba - ld a, $1 - ld [wcf64], a - call Function8d036 - ret - -.eight: ; 8d3c3 (23:53c3) - ld hl, $c - add hl, bc - ld a, [hli] - or [hl] - jr z, .asm_8d41e - ld hl, $f - add hl, bc - ld d, [hl] - ld hl, $b - add hl, bc - ld a, [hl] - push af - push de - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call Function8d6e2 - ld hl, $6 - add hl, bc - ld [hl], a - ld hl, $c - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $e - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, $e - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $c - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, $fff0 - add hl, de - ld e, l - ld d, h - ld hl, $c - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $b - add hl, bc - ld a, [hl] - xor $20 - ld [hl], a - ret -.asm_8d41e - call Function8d036 - ret - -.nine: ; 8d422 (23:5422) - callab Function9321d - ret - -.ten: ; 8d429 (23:5429) - callab Function932ac - ld hl, wcf64 - ld a, [hl] - cp $2 - ret nz - ld [hl], $3 - ld a, $f - call Function8d120 - ret - -.eleven: ; 8d43e (23:543e) - ld hl, $b - add hl, bc - ld a, [hl] - dec [hl] - ld e, a - and $1 - jr z, .asm_8d462 - ld hl, $4 - add hl, bc - ld a, [hl] - cp $78 - jr c, .asm_8d461 - call Function8d036 - ld a, $4 - ld [wcf64], a - ld de, SFX_PLACE_PUZZLE_PIECE_DOWN - call PlaySFX - ret -.asm_8d461 - inc [hl] -.asm_8d462 - ld a, e - ld d, $20 - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - ret - -.thirteen: ; 8d46e (23:546e) - callab Functione00ed - ret - -.fifteen: ; 8d475 (23:5475) - callab Function90d41 - ret - -.fourteen: ; 8d47c (23:547c) - callab Functione21a1 - ret - -.sixteen: ; 8d483 (23:5483) - call .anonymous_jumptable - jp [hl] -; 8d487 (23:5487) - -; Anonymous jumptable (see .anonymous_jumptable) - dw .sixteen_zero - dw .sixteen_one - dw .sixteen_two - dw .sixteen_three - dw .sixteen_four - dw .sixteen_five -; 8d493 - -.sixteen_zero: ; 8d493 - ld a, $14 - call Function8d120 - ld hl, $b - add hl, bc - ld [hl], $2 - ld hl, $c - add hl, bc - ld [hl], $20 - ret -; 8d4a5 - -.sixteen_two: ; 8d4a5 - ld hl, $c - add hl, bc - ld a, [hl] - and a - jr z, .asm_8d4af - dec [hl] - ret - -.asm_8d4af - call Function8d6d8 - ld hl, $c - add hl, bc - ld [hl], $40 - -.sixteen_three: ; 8d4b8 - ld hl, $c - add hl, bc - ld a, [hl] - cp $30 - jr c, .asm_8d4cd - dec [hl] - ld d, $28 - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - ret - -.asm_8d4cd - ld de, SFX_GOT_SAFARI_BALLS - call PlaySFX - jr .sixteen_five -; 8d4d5 - -.sixteen_one: ; 8d4d5 - ld hl, $b - add hl, bc - ld [hl], $4 - ld hl, $c - add hl, bc - ld [hl], $30 - ld hl, $d - add hl, bc - ld [hl], $24 - ret -; 8d4e8 - -.sixteen_four: ; 8d4e8 - ld hl, $d - add hl, bc - ld a, [hl] - and a - jr z, .asm_8d51c - ld d, a - ld hl, $c - add hl, bc - ld a, [hl] - call Function8e72c - ld hl, $7 - add hl, bc - ld [hl], a - ld hl, $c - add hl, bc - inc [hl] - ld a, [hl] - and $3f - ret nz - ld hl, $c - add hl, bc - ld [hl], $20 - ld hl, $d - add hl, bc - ld a, [hl] - sub $c - ld [hl], a - ld de, SFX_SWITCH_POKEMON - call PlaySFX - ret - -.asm_8d51c - xor a - ld hl, $7 - add hl, bc - ld [hl], a - call Function8d6d8 - ret - -.sixteen_five: ; 8d526 - call Function8d036 - ret -; 8d52a - -.seventeen: ; 8d52a (23:552a) - ld hl, $4 - add hl, bc - ld a, [hl] -rept 2 - inc [hl] -endr - cp $b0 - jr nc, .asm_8d53f - and $3 - ret nz - ld de, SFX_POKEBALLS_PLACED_ON_TABLE - call PlaySFX - ret -.asm_8d53f - call Function8d036 - ret - -.eighteen: ; 8d543 (23:5543) - callab Function29676 - ret - -.nineteen: ; 8d54a (23:554a) - ld hl, $c - add hl, bc - ld a, [hl] - cp $80 - jr nc, .asm_8d574 - ld d, a - add $8 - ld [hl], a - ld hl, $b - add hl, bc - ld a, [hl] - xor $20 - ld [hl], a - push af - push de - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call Function8d6e2 - ld hl, $6 - add hl, bc - ld [hl], a - ret -.asm_8d574 - call Function8d036 - ret - -.twenty: ; 8d578 (23:5578) - callab Function91640 - ret - -.twentyone: ; 8d57f (23:557f) - ld hl, $d - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $80 - add hl, de - ld e, l - ld d, h - ld hl, $d - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld hl, $c - add hl, bc - ld a, [hl] -rept 3 - inc [hl] -endr - push af - push de - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call Function8d6e2 - ld hl, $6 - add hl, bc - ld [hl], a - ret - -.twentytwo: ; 8d5b0 (23:55b0) - ld hl, $5 - add hl, bc - ld a, [hl] - and a - ret z - ld hl, $d - add hl, bc - ld a, [hl] - inc [hl] - cp $40 - ret c - ld hl, $5 - add hl, bc -rept 2 - dec [hl] -endr - ld hl, $f - add hl, bc - ld a, [hl] - ld d, a - cp $40 - jr nc, .asm_8d5d3 - add $8 - ld [hl], a -.asm_8d5d3 - ld hl, $e - add hl, bc - ld a, [hl] - inc [hl] - call Function8d6e2 - ld hl, $6 - add hl, bc - ld [hl], a - ret - -.twentythree: ; 8d5e2 (23:55e2) - ld hl, $4 - add hl, bc - ld a, [hl] - cp $b8 - jr nc, .asm_8d603 -rept 2 - inc [hl] -endr - ld hl, $5 - add hl, bc - dec [hl] - ld d, $40 - ld hl, $c - add hl, bc - ld a, [hl] - inc [hl] - call Function8d6e2 - ld hl, $6 - add hl, bc - ld [hl], a - ret -.asm_8d603 - call Function8d036 - ret - -.twentyfour: ; 8d607 (23:5607) - ld hl, $5 - add hl, bc - ld a, [hl] - cp $54 - ret z - ld hl, $5 - add hl, bc -rept 2 - inc [hl] -endr - ld hl, $f - add hl, bc - ld a, [hl] - ld d, a - and a - jr z, .asm_8d621 - sub $2 - ld [hl], a -.asm_8d621 - ld hl, $e - add hl, bc - ld a, [hl] - inc [hl] - call Function8d6e2 - ld hl, $6 - add hl, bc - ld [hl], a - ret - -.twentyseven: ; 8d630 (23:5630) - callba Function108bc7 - ret - -.twentyeight: ; 8d637 (23:5637) - callba Function108be0 - ret - -.twentynine: ; 8d63e (23:563e) - ld a, [wcf65] - and a - jr nz, .asm_8d645 - ret -.asm_8d645 - ld hl, $7 - add hl, bc - ld [hl], $0 - ld hl, $d - add hl, bc - ld a, [hl] - add $2 - ld [hl], a - xor $ff - inc a - ld d, $20 - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - ld a, $36 - call Function8d120 - ret - -.thirty: ; 8d666 (23:5666) - ld hl, $c - add hl, bc - ld a, [hl] - cp $14 - jr nc, .asm_8d67f - add $2 - ld [hl], a - xor $ff - inc a - ld d, $20 - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a -.asm_8d67f - ret - -.thirtytwo: ; 8d680 (23:5680) - ld hl, $b - add hl, bc - ld d, [hl] -rept 3 - inc [hl] -endr - ld hl, $c - add hl, bc - ld a, [hl] - push af - push de - call Function8d6de - ld hl, $7 - add hl, bc - ld [hl], a - pop de - pop af - call Function8d6e2 - ld hl, $6 - add hl, bc - ld [hl], a - ret - -.thirtythree: ; 8d6a2 (23:56a2) - ld a, [wcf64] - cp $40 - ret nz - ld a, $3d - call Function8d120 - ret - -.thirtyfour: ; 8d6ae (23:56ae) - ld hl, $5 - add hl, bc - ld a, [hl] - add $10 - ld [hl], a - ret - -.twentysix: ; 8d6b7 (23:56b7) - callba Function11d0b6 - ret - -.thirtyone: ; 8d6be (23:56be) - callba Function49aa2 - ret - -.anonymous_jumptable: ; 8d6c5 (23:56c5) - ld hl, [sp+$0] - ld e, [hl] - inc hl - ld d, [hl] - inc de - ld hl, $b - add hl, bc - ld l, [hl] - ld h, $0 - add hl, hl - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret -; 8d6d8 (23:56d8) - -Function8d6d8: ; 8d6d8 - ld hl, $b - add hl, bc - inc [hl] - ret -; 8d6de - -Function8d6de: ; 8d6de (23:56de) - call Function8e72c - ret - -Function8d6e2: ; 8d6e2 (23:56e2) - call Function8e72a - ret -; 8d6e6 (23:56e6) - -Unknown_8d6e6: ; 8d6e6 - dw Unknown_8d76a - dw Unknown_8d76d - dw Unknown_8d772 - dw Unknown_8d777 - dw Unknown_8d77c - dw Unknown_8d781 - dw Unknown_8d786 - dw Unknown_8d7a6 - dw Unknown_8d7ab - dw Unknown_8d7b0 - dw Unknown_8d7b5 - dw Unknown_8d7d4 - dw Unknown_8d7d9 - dw Unknown_8d7e2 - dw Unknown_8d7eb - dw Unknown_8d7f4 - dw Unknown_8d7ff - dw Unknown_8d78b - dw Unknown_8d802 - dw Unknown_8d805 - dw Unknown_8d808 - dw Unknown_8d811 - dw Unknown_8d818 - dw Unknown_8d81d - dw Unknown_8d822 - dw Unknown_8d825 - dw Unknown_8d82c - dw Unknown_8d82f - dw Unknown_8d861 - dw Unknown_8d864 - dw Unknown_8d867 - dw Unknown_8d874 - dw Unknown_8d877 - dw Unknown_8d87a - dw Unknown_8d87d - dw Unknown_8d880 - dw Unknown_8d883 - dw Unknown_8d890 - dw Unknown_8d899 - dw Unknown_8d89c - dw Unknown_8d89f - dw Unknown_8d8a2 - dw Unknown_8d8a5 - dw Unknown_8d8a8 - dw Unknown_8d8ab - dw Unknown_8d794 - dw Unknown_8d79d - dw Unknown_8d8ae - dw Unknown_8d8cd - dw Unknown_8d8ec - dw Unknown_8d8f1 - dw Unknown_8d8f4 - dw Unknown_8d8f7 - dw Unknown_8d8fe - dw Unknown_8d907 - dw Unknown_8d90c - dw Unknown_8d913 - dw Unknown_8d916 - dw Unknown_8d91d - dw Unknown_8d924 - dw Unknown_8d92b - dw Unknown_8d932 - dw Unknown_8d93d - dw Unknown_8d940 - dw Unknown_8d943 - dw Unknown_8d948 -; 8d76a - -Unknown_8d76a: dw $2000 - db -1 -Unknown_8d76d: dw $0800, $0801 - db -2 -Unknown_8d772: dw $083d, $083e - db -2 -Unknown_8d777: dw $083f, $0840 - db -2 -Unknown_8d77c: dw $0400, $0401 - db -2 -Unknown_8d781: dw $043d, $043e - db -2 -Unknown_8d786: dw $043f, $0440 - db -2 -Unknown_8d78b: dw $0800, $0801, $0800, $4801 - db -2 -Unknown_8d794: dw $0863, $0864, $0863, $4864 - db -2 -Unknown_8d79d: dw $0865, $0866, $0865, $4866 - db -2 -Unknown_8d7a6: dw $011e, $011f - db -2 -Unknown_8d7ab: dw $0120, $01fd - db -2 -Unknown_8d7b0: dw $0121, $01fd - db -2 -Unknown_8d7b5: dw $0c81, $0182, $0183, $0482, $0c81, $0c82, $0483, $2084, $0385, $0386, $0487, $0488, $0489, $0a8a, $078b - db -1 -Unknown_8d7d4: dw $0323, $8323 - db -2 -Unknown_8d7d9: dw $0224, $0225, $0226, $0225 - db -2 -Unknown_8d7e2: dw $0727, $0728, $8727, $4728 - db -2 -Unknown_8d7eb: dw $0729, $072a, $0729, $072b - db -2 -Unknown_8d7f4: dw $0729, $072c, $072d, $072c, $0729 - db -1 -Unknown_8d7ff: dw $142e - db -1 -Unknown_8d802: dw $202f - db -1 -Unknown_8d805: dw $2030 - db -1 -Unknown_8d808: dw $0330, $0331, $0330, $4331 - db -2 -Unknown_8d811: dw $0432, $0433, $0434 - db -4 -Unknown_8d818: dw $0335, $0336 - db -2 -Unknown_8d81d: dw $0737, $0738 - db -2 -Unknown_8d822: dw $2039 - db -1 -Unknown_8d825: dw $023b, $023a, $023b - db -1 -Unknown_8d82c: dw $203c - db -1 -Unknown_8d82f: dw $0841, $0842, $0841, $4842 - db -2 - dw $0843, $0844 - db -2 - dw $0845, $0846 - db -2 - dw $0847, $0848 - db -2 - dw $0149, $4149, $c149, $8149 - db -2 - dw $204a - db -1 - dw $204b - db -1 - dw $204c - db -1 - dw $204d - db -1 - dw $034e, $03fd - db -2 -Unknown_8d861: dw $20fd - db -1 -Unknown_8d864: dw $204f - db -1 -Unknown_8d867: dw $0250, $1051, $01fd, $0152, $01fd, $0153 - db -4 -Unknown_8d874: dw $2054 - db -1 -Unknown_8d877: dw $2055 - db -1 -Unknown_8d87a: dw $6055 - db -1 -Unknown_8d87d: dw $a055 - db -1 -Unknown_8d880: dw $e055 - db -1 -Unknown_8d883: dw $0a56, $0957, $0a58, $0a59, $0958, $0a5a - db -2 -Unknown_8d890: dw $0250, $025b, $0250, $425b - db -2 -Unknown_8d899: dw $025c - db -1 -Unknown_8d89c: dw $025d - db -1 -Unknown_8d89f: dw $025e - db -1 -Unknown_8d8a2: dw $025f - db -1 -Unknown_8d8a5: dw $0260 - db -1 -Unknown_8d8a8: dw $0261 - db -1 -Unknown_8d8ab: dw $0262 - db -1 -Unknown_8d8ae: dw $0332, $0333, $0334, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331 - db -1 -Unknown_8d8cd: dw $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0332, $0333, $0334 - db -4 -Unknown_8d8ec: dw $0367, $0368 - db -2 -Unknown_8d8f1: dw $036c - db -1 -Unknown_8d8f4: dw $036d - db -1 -Unknown_8d8f7: dw $0269, $026a, $026b - db -4 -Unknown_8d8fe: dw $036e, $036f, $0370, $0371 - db -2 -Unknown_8d907: dw $0371, $076e - db -1 -Unknown_8d90c: dw $2072, $0773, $0774 - db -1 -Unknown_8d913: dw $0375 - db -1 -Unknown_8d916: dw $0376, $0377, $0778 - db -4 -Unknown_8d91d: dw $4376, $4377, $4778 - db -4 -Unknown_8d924: dw $8376, $8377, $8778 - db -4 -Unknown_8d92b: dw $c376, $c377, $c778 - db -4 -Unknown_8d932: dw $0379, $037a, $037b, $077c, $077d - db -1 -Unknown_8d93d: dw $037e - db -1 -Unknown_8d940: dw $00fd - db -1 -Unknown_8d943: dw $087f, $0880 - db -1 -Unknown_8d948: dw $487f, $4880 - db -1 -; 8d94d - -Unknown_8d94d: ; 8d94d - dbw $00, Unknown_8dd8a - dbw $04, Unknown_8dd8a - dbw $4c, Unknown_8daf1 - dbw $5c, Unknown_8daf1 - dbw $6c, Unknown_8daf6 - dbw $6e, Unknown_8daf6 - dbw $2d, Unknown_8ddf0 - dbw $4d, Unknown_8ddf0 - dbw $60, Unknown_8de09 - dbw $00, Unknown_8de09 - dbw $00, Unknown_8de09 - dbw $06, Unknown_8de09 - dbw $0c, Unknown_8de7e - dbw $0d, Unknown_8daf1 - dbw $00, Unknown_8dc53 - dbw $04, Unknown_8dc53 - dbw $08, Unknown_8dc53 - dbw $40, Unknown_8dc53 - dbw $44, Unknown_8dc53 - dbw $48, Unknown_8dc53 - dbw $4c, Unknown_8dc53 - dbw $80, Unknown_8de87 - dbw $85, Unknown_8de87 - dbw $8a, Unknown_8de87 - dbw $00, Unknown_8db29 - dbw $01, Unknown_8db5c - dbw $09, Unknown_8db9d - dbw $10, Unknown_8dc94 - dbw $29, Unknown_8dc94 - dbw $42, Unknown_8dc94 - dbw $f8, Unknown_8e17e - dbw $fa, Unknown_8e17e - dbw $00, Unknown_8deb2 - dbw $00, Unknown_8dec3 - dbw $00, Unknown_8deec - dbw $0f, Unknown_8db07 - dbw $11, Unknown_8daf1 - dbw $12, Unknown_8daf1 - dbw $13, Unknown_8daf1 - dbw $00, Unknown_8df29 - dbw $08, Unknown_8df29 - dbw $10, Unknown_8df42 - dbw $10, Unknown_8df5b - dbw $10, Unknown_8df74 - dbw $10, Unknown_8df8d - dbw $10, Unknown_8dfa6 - dbw $3a, Unknown_8daf1 - dbw $00, Unknown_8dd8a - dbw $00, Unknown_8db18 - dbw $02, Unknown_8dd9b - dbw $06, Unknown_8db5c - dbw $0a, Unknown_8db5c - dbw $0e, Unknown_8db5c - dbw $12, Unknown_8db3a - dbw $13, Unknown_8db3a - dbw $00, Unknown_8dd8a - dbw $04, Unknown_8dd8a - dbw $10, Unknown_8db5c - dbw $00, Unknown_8dd9b - dbw $04, Unknown_8daf1 - dbw $00, Unknown_8dfbf - dbw $00, Unknown_8ddac - dbw $00, Unknown_8ddbd - dbw $00, Unknown_8ddce - dbw $00, Unknown_8dddf - dbw $00, Unknown_8dd9b - dbw $04, Unknown_8dd9b - dbw $00, Unknown_8dc2e - dbw $30, Unknown_8dc2e - dbw $03, Unknown_8dc2e - dbw $33, Unknown_8dc2e - dbw $06, Unknown_8dc2e - dbw $36, Unknown_8dc2e - dbw $09, Unknown_8dc2e - dbw $39, Unknown_8dc2e - dbw $0c, Unknown_8dfcc - dbw $0c, Unknown_8dfe5 - dbw $3c, Unknown_8daf1 - dbw $3e, Unknown_8daf1 - dbw $00, Unknown_8de9c - dbw $00, Unknown_8dea1 - dbw $00, Unknown_8dff6 - dbw $00, Unknown_8e007 - dbw $00, Unknown_8e018 - dbw $00, Unknown_8daf1 - dbw $01, Unknown_8daf1 - dbw $00, Unknown_8e029 - dbw $00, Unknown_8e076 - dbw $00, Unknown_8e0b7 - dbw $00, Unknown_8e0f4 - dbw $00, Unknown_8e139 - dbw $04, Unknown_8dea1 - dbw $00, Unknown_8e183 - dbw $00, Unknown_8e1b4 - dbw $00, Unknown_8e1b9 - dbw $00, Unknown_8e1ca - dbw $00, Unknown_8e1eb - dbw $00, Unknown_8e1f0 - dbw $00, Unknown_8e1f9 - dbw $00, Unknown_8e202 - dbw $04, Unknown_8e202 - dbw $00, Unknown_8e213 - dbw $04, Unknown_8e213 - dbw $20, Unknown_8e224 - dbw $21, Unknown_8e224 - dbw $22, Unknown_8e24b - dbw $23, Unknown_8e25c - dbw $27, Unknown_8e27d - dbw $2a, Unknown_8e229 - dbw $2a, Unknown_8e23a - dbw $00, Unknown_8e2ae - dbw $08, Unknown_8e33f - dbw $60, Unknown_8e3b0 - dbw $68, Unknown_8e429 - dbw $00, Unknown_8e4a6 - dbw $05, Unknown_8e4a6 - dbw $0a, Unknown_8e4a6 - dbw $50, Unknown_8e50b - dbw $00, Unknown_8e54c - dbw $01, Unknown_8e551 - dbw $04, Unknown_8e55e - dbw $00, Unknown_8db29 - dbw $01, Unknown_8e57b - dbw $03, Unknown_8e59c - dbw $08, Unknown_8e5cd - dbw $1c, Unknown_8e5cd - dbw $80, Unknown_8e61e - dbw $00, Unknown_8e66f - dbw $04, Unknown_8e66f - dbw $d0, Unknown_8e680 - dbw $d3, Unknown_8e680 - dbw $d6, Unknown_8e680 - dbw $6c, Unknown_8e6a5 - dbw $68, Unknown_8e6a5 - dbw $64, Unknown_8e6a5 - dbw $60, Unknown_8e6a5 - dbw $0c, Unknown_8e6a5 - dbw $08, Unknown_8e6a5 - dbw $04, Unknown_8e6a5 - dbw $00, Unknown_8e6a5 -; 8daf1 - - -Unknown_8daf1: ; 8daf1 - db 1 - db $fc, $fc, $00, $00 -; 8daf6 - -Unknown_8daf6: ; 8daf6 - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $10, $00 - db $00, $00, $11, $00 -; 8db07 - -Unknown_8db07: ; 8db07 - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $00, $20 - db $00, $f8, $01, $00 - db $00, $00, $01, $20 -; 8db18 - -Unknown_8db18: ; 8db18 - db 4 - db $f8, $f8, $00, $80 - db $f8, $00, $00, $a0 - db $00, $f8, $01, $80 - db $00, $00, $01, $a0 -; 8db29 - -Unknown_8db29: ; 8db29 - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $00, $20 - db $00, $f8, $00, $40 - db $00, $00, $00, $60 -; 8db3a - -Unknown_8db3a: ; 8db3a - db 4 - db $f8, $f8, $00, $07 - db $f8, $00, $00, $27 - db $00, $f8, $00, $47 - db $00, $00, $00, $67 -; 8db4b - -; 8db4b - db 4 - db $f8, $f8, $00, $80 - db $f8, $00, $00, $a0 - db $00, $f8, $00, $c0 - db $00, $00, $00, $e0 -; 8db5c - -Unknown_8db5c: ; 8db5c - db 16 - db $f0, $f0, $00, $00 - db $f0, $f8, $01, $00 - db $f8, $f0, $02, $00 - db $f8, $f8, $03, $00 - db $f0, $00, $01, $20 - db $f0, $08, $00, $20 - db $f8, $00, $03, $20 - db $f8, $08, $02, $20 - db $00, $f0, $02, $40 - db $00, $f8, $03, $40 - db $08, $f0, $00, $40 - db $08, $f8, $01, $40 - db $00, $00, $03, $60 - db $00, $08, $02, $60 - db $08, $00, $01, $60 - db $08, $08, $00, $60 -; 8db9d - -Unknown_8db9d: ; 8db9d - db 36 - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $f0, $e8, $03, $00 - db $f0, $f0, $04, $00 - db $f0, $f8, $05, $00 - db $f8, $e8, $06, $00 - db $f8, $f0, $05, $00 - db $f8, $f8, $05, $00 - db $e8, $00, $02, $20 - db $e8, $08, $01, $20 - db $e8, $10, $00, $20 - db $f0, $00, $05, $20 - db $f0, $08, $04, $20 - db $f0, $10, $03, $20 - db $f8, $00, $05, $20 - db $f8, $08, $05, $20 - db $f8, $10, $06, $20 - db $00, $e8, $06, $40 - db $00, $f0, $05, $40 - db $00, $f8, $05, $40 - db $08, $e8, $03, $40 - db $08, $f0, $04, $40 - db $08, $f8, $05, $40 - db $10, $e8, $00, $40 - db $10, $f0, $01, $40 - db $10, $f8, $02, $40 - db $00, $00, $05, $60 - db $00, $08, $05, $60 - db $00, $10, $06, $60 - db $08, $00, $05, $60 - db $08, $08, $04, $60 - db $08, $10, $03, $60 - db $10, $00, $02, $60 - db $10, $08, $01, $60 - db $10, $10, $00, $60 -; 8dc2e - -Unknown_8dc2e: ; 8dc2e - db 9 - db $f4, $f4, $00, $00 - db $f4, $fc, $01, $00 - db $f4, $04, $02, $00 - db $fc, $f4, $10, $00 - db $fc, $fc, $11, $00 - db $fc, $04, $12, $00 - db $04, $f4, $20, $00 - db $04, $fc, $21, $00 - db $04, $04, $22, $00 -; 8dc53 - -Unknown_8dc53: ; 8dc53 - db 16 - db $f0, $f0, $00, $00 - db $f0, $f8, $01, $00 - db $f0, $00, $02, $00 - db $f0, $08, $03, $00 - db $f8, $f0, $10, $00 - db $f8, $f8, $11, $00 - db $f8, $00, $12, $00 - db $f8, $08, $13, $00 - db $00, $f0, $20, $00 - db $00, $f8, $21, $00 - db $00, $00, $22, $00 - db $00, $08, $23, $00 - db $08, $f0, $30, $00 - db $08, $f8, $31, $00 - db $08, $00, $32, $00 - db $08, $08, $33, $00 -; 8dc94 - -Unknown_8dc94: ; 8dc94 - db 25 - db $ec, $ec, $00, $00 - db $f4, $ec, $01, $00 - db $fc, $ec, $02, $00 - db $04, $ec, $03, $00 - db $0c, $ec, $04, $00 - db $ec, $f4, $05, $00 - db $f4, $f4, $06, $00 - db $fc, $f4, $07, $00 - db $04, $f4, $08, $00 - db $0c, $f4, $09, $00 - db $ec, $fc, $0a, $00 - db $f4, $fc, $0b, $00 - db $fc, $fc, $0c, $00 - db $04, $fc, $0d, $00 - db $0c, $fc, $0e, $00 - db $ec, $04, $0f, $00 - db $f4, $04, $10, $00 - db $fc, $04, $11, $00 - db $04, $04, $12, $00 - db $0c, $04, $13, $00 - db $ec, $0c, $14, $00 - db $f4, $0c, $15, $00 - db $fc, $0c, $16, $00 - db $04, $0c, $17, $00 - db $0c, $0c, $18, $00 -; 8dcf9 - -; 8dcf9 - db 36 - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $e8, $00, $03, $00 - db $e8, $08, $04, $00 - db $e8, $10, $05, $00 - db $f0, $e8, $06, $00 - db $f0, $f0, $07, $00 - db $f0, $f8, $08, $00 - db $f0, $00, $09, $00 - db $f0, $08, $0a, $00 - db $f0, $10, $0b, $00 - db $f8, $e8, $0c, $00 - db $f8, $f0, $0d, $00 - db $f8, $f8, $0e, $00 - db $f8, $00, $0f, $00 - db $f8, $08, $10, $00 - db $f8, $10, $11, $00 - db $00, $e8, $12, $00 - db $00, $f0, $13, $00 - db $00, $f8, $14, $00 - db $00, $00, $15, $00 - db $00, $08, $16, $00 - db $00, $10, $17, $00 - db $08, $e8, $18, $00 - db $08, $f0, $19, $00 - db $08, $f8, $1a, $00 - db $08, $00, $1b, $00 - db $08, $08, $1c, $00 - db $08, $10, $1d, $00 - db $10, $e8, $1e, $00 - db $10, $f0, $1f, $00 - db $10, $f8, $20, $00 - db $10, $00, $21, $00 - db $10, $08, $22, $00 - db $10, $10, $23, $00 -; 8dd8a - -Unknown_8dd8a: ; 8dd8a - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $02, $00 - db $00, $00, $03, $00 -; 8dd9b - -Unknown_8dd9b: ; 8dd9b - db 4 - db $f8, $f8, $00, $80 - db $f8, $00, $01, $80 - db $00, $f8, $02, $80 - db $00, $00, $03, $80 -; 8ddac - -Unknown_8ddac: ; 8ddac - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $08, $00 - db $00, $00, $03, $00 -; 8ddbd - -Unknown_8ddbd: ; 8ddbd - db 4 - db $f8, $f8, $04, $00 - db $f8, $00, $05, $00 - db $00, $f8, $08, $00 - db $00, $00, $07, $00 -; 8ddce - -Unknown_8ddce: ; 8ddce - db 4 - db $f8, $f8, $00, $00 - db $f8, $00, $01, $00 - db $00, $f8, $09, $00 - db $00, $00, $03, $00 -; 8dddf - -Unknown_8dddf: ; 8dddf - db 4 - db $f8, $f8, $04, $00 - db $f8, $00, $05, $00 - db $00, $f8, $09, $00 - db $00, $00, $07, $00 -; 8ddf0 - -Unknown_8ddf0: ; 8ddf0 - db 6 - db $f8, $f4, $00, $01 - db $f8, $fc, $01, $01 - db $f8, $04, $02, $01 - db $00, $f4, $10, $01 - db $00, $fc, $11, $01 - db $00, $04, $12, $01 -; 8de09 - -Unknown_8de09: ; 8de09 - db 29 - db $e8, $e8, $00, $00 - db $e8, $f0, $01, $00 - db $e8, $f8, $02, $00 - db $e8, $00, $03, $00 - db $f0, $e8, $10, $00 - db $f0, $f0, $11, $00 - db $f0, $f8, $12, $00 - db $f0, $00, $13, $00 - db $f8, $e8, $20, $00 - db $f8, $f0, $21, $00 - db $f8, $f8, $22, $00 - db $f8, $00, $23, $00 - db $f8, $08, $24, $00 - db $00, $e8, $30, $80 - db $00, $f0, $31, $80 - db $00, $f8, $32, $80 - db $00, $00, $33, $80 - db $00, $08, $34, $80 - db $08, $e8, $40, $80 - db $08, $f0, $41, $80 - db $08, $f8, $42, $80 - db $08, $00, $43, $80 - db $08, $08, $44, $80 - db $08, $10, $45, $80 - db $10, $f0, $51, $80 - db $10, $f8, $52, $80 - db $10, $00, $53, $80 - db $10, $08, $54, $80 - db $10, $10, $55, $80 -; 8de7e - -Unknown_8de7e: ; 8de7e - db 2 - db $f8, $fc, $00, $00 - db $00, $fc, $10, $00 -; 8de87 - -Unknown_8de87: ; 8de87 - db 5 - db $f0, $18, $00, $00 - db $f0, $20, $01, $00 - db $f8, $10, $02, $00 - db $f8, $18, $03, $00 - db $00, $10, $04, $00 -; 8de9c - -Unknown_8de9c: ; 8de9c - db 1 - db $fc, $fc, $00, $06 -; 8dea1 - -Unknown_8dea1: ; 8dea1 - db 4 - db $f8, $f8, $00, $06 - db $f8, $00, $01, $06 - db $00, $f8, $02, $06 - db $00, $00, $03, $06 -; 8deb2 - -Unknown_8deb2: ; 8deb2 - db 4 - db $ff, $ff, $00, $00 - db $ff, $00, $00, $20 - db $00, $ff, $00, $40 - db $00, $00, $00, $60 -; 8dec3 - -Unknown_8dec3: ; 8dec3 - db 10 - db $ff, $00, $00, $00 - db $ff, $08, $01, $00 - db $ff, $10, $01, $00 - db $ff, $18, $01, $00 - db $ff, $20, $00, $20 - db $00, $00, $00, $40 - db $00, $08, $01, $40 - db $00, $10, $01, $40 - db $00, $18, $01, $40 - db $00, $20, $00, $60 -; 8deec - -Unknown_8deec: ; 8deec - db 15 - db $ec, $f4, $00, $11 - db $ec, $fc, $01, $11 - db $ec, $04, $02, $11 - db $f4, $f4, $03, $11 - db $f4, $fc, $04, $11 - db $f4, $04, $05, $11 - db $fc, $f4, $06, $11 - db $fc, $fc, $07, $11 - db $fc, $04, $08, $11 - db $04, $f4, $09, $11 - db $04, $fc, $0a, $11 - db $04, $04, $0b, $11 - db $0c, $f4, $0c, $11 - db $0c, $fc, $0d, $11 - db $0c, $04, $0e, $11 -; 8df29 - -Unknown_8df29: ; 8df29 - db 6 - db $f4, $f4, $00, $15 - db $f4, $fc, $02, $15 - db $f4, $04, $00, $35 - db $04, $f4, $04, $15 - db $04, $fc, $06, $15 - db $04, $04, $04, $35 -; 8df42 - -Unknown_8df42: ; 8df42 - db 6 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $06, $16 - db $04, $fc, $08, $16 - db $04, $04, $0a, $16 -; 8df5b - -Unknown_8df5b: ; 8df5b - db 6 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $0c, $16 - db $04, $fc, $0e, $16 - db $04, $04, $10, $16 -; 8df74 - -Unknown_8df74: ; 8df74 - db 6 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $12, $16 - db $04, $fc, $14, $16 - db $04, $04, $16, $16 -; 8df8d - -Unknown_8df8d: ; 8df8d - db 6 - db $f4, $f4, $00, $16 - db $f4, $fc, $02, $16 - db $f4, $04, $04, $16 - db $04, $f4, $18, $16 - db $04, $fc, $1a, $16 - db $04, $04, $1c, $16 -; 8dfa6 - -Unknown_8dfa6: ; 8dfa6 - db 6 - db $f4, $f4, $1e, $16 - db $f4, $fc, $20, $16 - db $f4, $04, $22, $16 - db $04, $f4, $24, $16 - db $04, $fc, $26, $16 - db $04, $04, $28, $16 -; 8dfbf - -Unknown_8dfbf: ; 8dfbf - db 3 - db $f4, $fc, $00, $10 - db $fc, $fc, $00, $10 - db $04, $fc, $00, $10 -; 8dfcc - -Unknown_8dfcc: ; 8dfcc - db 6 - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $00, $10, $01, $00 - db $00, $18, $01, $00 - db $00, $20, $02, $00 - db $00, $28, $03, $00 -; 8dfe5 - -Unknown_8dfe5: ; 8dfe5 - db 4 - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $00, $10, $02, $00 - db $00, $18, $03, $00 -; 8dff6 - -Unknown_8dff6: ; 8dff6 - db 4 - db $f8, $f6, $00, $06 - db $f8, $02, $01, $06 - db $00, $f6, $02, $06 - db $00, $02, $03, $06 -; 8e007 - -Unknown_8e007: ; 8e007 - db 4 - db $f8, $f4, $00, $06 - db $f8, $04, $01, $06 - db $00, $f4, $02, $06 - db $00, $04, $03, $06 -; 8e018 - -Unknown_8e018: ; 8e018 - db 4 - db $f8, $f0, $00, $06 - db $f8, $08, $01, $06 - db $00, $f0, $02, $06 - db $00, $08, $03, $06 -; 8e029 - -Unknown_8e029: ; 8e029 - db 19 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $e8, $f0, $06, $00 - db $f8, $f0, $08, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $0c, $00 - db $f8, $f8, $0e, $00 - db $08, $f8, $10, $00 - db $e8, $00, $12, $00 - db $f8, $00, $14, $00 - db $08, $00, $16, $00 - db $e8, $08, $18, $00 - db $f8, $08, $1a, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e076 - -Unknown_8e076: ; 8e076 - db 16 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $26, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $28, $00 - db $f8, $f8, $2a, $00 - db $08, $f8, $10, $00 - db $f8, $00, $2c, $00 - db $08, $00, $16, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e0b7 - -Unknown_8e0b7: ; 8e0b7 - db 15 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $32, $00 - db $f8, $f0, $34, $00 - db $08, $f0, $36, $00 - db $f8, $f8, $38, $00 - db $08, $f8, $3a, $00 - db $f8, $00, $3c, $00 - db $08, $00, $3e, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e0f4 - -Unknown_8e0f4: ; 8e0f4 - db 17 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $40, $00 - db $08, $f0, $42, $00 - db $18, $f0, $44, $00 - db $f8, $f8, $46, $00 - db $08, $f8, $48, $00 - db $18, $f8, $4a, $00 - db $f8, $00, $4c, $00 - db $08, $00, $4e, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e139 - -Unknown_8e139: ; 8e139 - db 17 - db $f8, $e0, $00, $00 - db $f0, $e8, $02, $00 - db $00, $e8, $04, $00 - db $f8, $f0, $50, $00 - db $08, $f0, $0a, $00 - db $e8, $f8, $52, $00 - db $f8, $f8, $54, $00 - db $08, $f8, $10, $00 - db $e8, $00, $56, $00 - db $f8, $00, $2e, $00 - db $08, $00, $16, $00 - db $f8, $08, $30, $00 - db $08, $08, $1c, $00 - db $f8, $10, $1e, $00 - db $08, $10, $20, $00 - db $f0, $18, $22, $00 - db $00, $18, $24, $00 -; 8e17e - -Unknown_8e17e: ; 8e17e - db 1 - db $fc, $fc, $00, $11 -; 8e183 - -Unknown_8e183: ; 8e183 - db 12 - db $00, $00, $30, $00 - db $00, $08, $31, $00 - db $00, $10, $31, $00 - db $00, $18, $31, $00 - db $00, $20, $31, $00 - db $00, $28, $32, $00 - db $08, $00, $33, $00 - db $08, $08, $34, $00 - db $08, $10, $34, $00 - db $08, $18, $34, $00 - db $08, $20, $34, $00 - db $08, $28, $35, $00 -; 8e1b4 - -Unknown_8e1b4: ; 8e1b4 - db 1 - db $00, $00, $ed, $00 -; 8e1b9 - -Unknown_8e1b9: ; 8e1b9 - db 4 - db $ff, $ff, $30, $00 - db $ff, $01, $32, $00 - db $01, $ff, $33, $00 - db $01, $01, $35, $00 -; 8e1ca - -Unknown_8e1ca: ; 8e1ca - db 8 - db $ff, $ff, $30, $00 - db $ff, $04, $31, $00 - db $ff, $0c, $31, $00 - db $ff, $11, $32, $00 - db $01, $ff, $33, $00 - db $01, $04, $34, $00 - db $01, $0c, $34, $00 - db $01, $11, $35, $00 -; 8e1eb - -Unknown_8e1eb: ; 8e1eb - db 1 - db $00, $00, $34, $00 -; 8e1f0 - -Unknown_8e1f0: ; 8e1f0 - db 2 - db $00, $00, $30, $00 - db $08, $00, $33, $00 -; 8e1f9 - -Unknown_8e1f9: ; 8e1f9 - db 2 - db $00, $00, $32, $00 - db $08, $00, $35, $00 -; 8e202 - -Unknown_8e202: ; 8e202 - db 4 - db $f8, $f8, $00, $01 - db $f8, $00, $01, $01 - db $00, $f8, $02, $01 - db $00, $00, $03, $01 -; 8e213 - -Unknown_8e213: ; 8e213 - db 4 - db $f8, $f8, $00, $81 - db $f8, $00, $01, $81 - db $00, $f8, $02, $81 - db $00, $00, $03, $81 -; 8e224 - -Unknown_8e224: ; 8e224 - db 1 - db $fc, $fc, $00, $02 -; 8e229 - -Unknown_8e229: ; 8e229 - db 4 - db $f0, $fc, $00, $03 - db $f8, $fc, $01, $03 - db $00, $fc, $02, $03 - db $08, $fc, $03, $03 -; 8e23a - -Unknown_8e23a: ; 8e23a - db 4 - db $f0, $fc, $03, $44 - db $f8, $fc, $02, $44 - db $00, $fc, $01, $44 - db $08, $fc, $00, $44 -; 8e24b - -Unknown_8e24b: ; 8e24b - db 4 - db $f8, $f8, $00, $01 - db $f8, $00, $00, $21 - db $00, $f8, $00, $41 - db $00, $00, $00, $61 -; 8e25c - -Unknown_8e25c: ; 8e25c - db 8 - db $f4, $f4, $00, $01 - db $f4, $fc, $01, $01 - db $f4, $04, $00, $21 - db $fc, $f4, $02, $01 - db $fc, $04, $02, $21 - db $04, $f4, $00, $41 - db $04, $fc, $01, $41 - db $04, $04, $00, $61 -; 8e27d - -Unknown_8e27d: ; 8e27d - db 12 - db $f0, $f0, $00, $01 - db $f0, $f8, $01, $01 - db $f8, $f0, $02, $01 - db $f0, $00, $01, $21 - db $f0, $08, $00, $21 - db $f8, $08, $02, $21 - db $00, $f0, $02, $41 - db $08, $f0, $00, $41 - db $08, $f8, $01, $41 - db $00, $08, $02, $61 - db $08, $00, $01, $61 - db $08, $08, $00, $61 -; 8e2ae - -Unknown_8e2ae: ; 8e2ae - db 36 - db $e8, $08, $05, $00 - db $e8, $10, $06, $00 - db $e8, $18, $07, $00 - db $f0, $e8, $11, $00 - db $f0, $f0, $12, $00 - db $f0, $f8, $13, $00 - db $f0, $00, $14, $00 - db $f0, $08, $15, $00 - db $f0, $10, $16, $00 - db $f0, $18, $17, $00 - db $f8, $e0, $20, $00 - db $f8, $e8, $21, $00 - db $f8, $f0, $22, $00 - db $f8, $f8, $23, $00 - db $f8, $00, $24, $00 - db $f8, $08, $25, $00 - db $f8, $10, $26, $00 - db $f8, $18, $27, $00 - db $00, $e0, $30, $00 - db $00, $e8, $31, $00 - db $00, $f0, $32, $00 - db $00, $f8, $33, $00 - db $00, $00, $34, $00 - db $00, $08, $35, $00 - db $00, $10, $36, $00 - db $08, $e0, $40, $00 - db $08, $e8, $41, $00 - db $08, $f0, $42, $00 - db $08, $f8, $43, $00 - db $08, $00, $44, $00 - db $08, $08, $45, $00 - db $08, $10, $46, $00 - db $08, $18, $47, $00 - db $10, $e0, $50, $00 - db $10, $e8, $51, $00 - db $10, $18, $57, $00 -; 8e33f - -Unknown_8e33f: ; 8e33f - db 28 - db $e8, $00, $04, $00 - db $e8, $08, $05, $00 - db $e8, $10, $06, $00 - db $f0, $e8, $11, $00 - db $f0, $f0, $12, $00 - db $f0, $f8, $13, $00 - db $f0, $00, $14, $00 - db $f0, $08, $15, $00 - db $f0, $10, $16, $00 - db $f8, $e8, $21, $00 - db $f8, $f0, $22, $00 - db $f8, $f8, $23, $00 - db $f8, $00, $24, $00 - db $f8, $08, $25, $00 - db $f8, $10, $26, $00 - db $00, $e0, $30, $00 - db $00, $e8, $31, $00 - db $00, $f0, $32, $00 - db $00, $f8, $33, $00 - db $00, $00, $34, $00 - db $00, $08, $35, $00 - db $08, $f0, $42, $00 - db $08, $f8, $43, $00 - db $08, $00, $44, $00 - db $08, $08, $45, $00 - db $10, $f8, $53, $00 - db $10, $00, $54, $00 - db $10, $08, $55, $00 -; 8e3b0 - -Unknown_8e3b0: ; 8e3b0 - db 30 - db $e8, $00, $04, $00 - db $e8, $08, $05, $00 - db $f0, $e8, $11, $00 - db $f0, $f0, $12, $00 - db $f0, $f8, $13, $00 - db $f0, $00, $14, $00 - db $f0, $08, $15, $00 - db $f0, $10, $16, $00 - db $f0, $18, $17, $00 - db $f8, $e0, $20, $00 - db $f8, $e8, $21, $00 - db $f8, $f0, $22, $00 - db $f8, $f8, $23, $00 - db $f8, $00, $24, $00 - db $f8, $08, $25, $00 - db $f8, $10, $26, $00 - db $00, $e0, $30, $00 - db $00, $e8, $31, $00 - db $00, $f0, $32, $00 - db $00, $f8, $33, $00 - db $00, $00, $34, $00 - db $00, $08, $35, $00 - db $08, $f0, $42, $00 - db $08, $f8, $43, $00 - db $08, $00, $44, $00 - db $08, $08, $45, $00 - db $10, $f0, $52, $00 - db $10, $f8, $53, $00 - db $10, $00, $54, $00 - db $10, $08, $55, $00 -; 8e429 - -Unknown_8e429: ; 8e429 - db 31 - db $f0, $e8, $11, $00 - db $f0, $f0, $12, $00 - db $f0, $f8, $13, $00 - db $f0, $00, $14, $00 - db $f0, $08, $15, $00 - db $f0, $10, $16, $00 - db $f0, $18, $17, $00 - db $f8, $e0, $20, $00 - db $f8, $e8, $21, $00 - db $f8, $f0, $22, $00 - db $f8, $f8, $23, $00 - db $f8, $00, $24, $00 - db $f8, $08, $25, $00 - db $f8, $10, $26, $00 - db $f8, $18, $27, $00 - db $00, $e0, $30, $00 - db $00, $e8, $31, $00 - db $00, $f0, $32, $00 - db $00, $f8, $33, $00 - db $00, $00, $34, $00 - db $00, $08, $35, $00 - db $00, $10, $36, $00 - db $08, $e8, $41, $00 - db $08, $f0, $42, $00 - db $08, $f8, $43, $00 - db $08, $00, $44, $00 - db $08, $08, $45, $00 - db $10, $e8, $51, $00 - db $10, $f0, $52, $00 - db $10, $00, $54, $00 - db $10, $08, $55, $00 -; 8e4a6 - -Unknown_8e4a6: ; 8e4a6 - db 25 - db $ec, $ec, $00, $09 - db $ec, $f4, $01, $09 - db $ec, $fc, $02, $09 - db $ec, $04, $03, $09 - db $ec, $0c, $04, $09 - db $f4, $ec, $10, $09 - db $f4, $f4, $11, $09 - db $f4, $fc, $12, $09 - db $f4, $04, $13, $09 - db $f4, $0c, $14, $09 - db $fc, $ec, $20, $09 - db $fc, $f4, $21, $09 - db $fc, $fc, $22, $09 - db $fc, $04, $23, $09 - db $fc, $0c, $24, $09 - db $04, $ec, $30, $09 - db $04, $f4, $31, $09 - db $04, $fc, $32, $09 - db $04, $04, $33, $09 - db $04, $0c, $34, $09 - db $0c, $ec, $40, $09 - db $0c, $f4, $41, $09 - db $0c, $fc, $42, $09 - db $0c, $04, $43, $09 - db $0c, $0c, $44, $09 -; 8e50b - -Unknown_8e50b: ; 8e50b - db 16 - db $f0, $ec, $00, $0a - db $f0, $f4, $01, $0a - db $f0, $fc, $02, $0a - db $f0, $04, $03, $0a - db $f8, $ec, $04, $0a - db $f8, $f4, $05, $0a - db $f8, $fc, $06, $0a - db $f8, $04, $07, $0a - db $00, $ec, $08, $0a - db $00, $f4, $09, $0a - db $00, $fc, $0a, $0a - db $00, $04, $0b, $0a - db $08, $ec, $0c, $0a - db $08, $f4, $0d, $0a - db $08, $fc, $0e, $0a - db $08, $04, $0f, $0a -; 8e54c - -Unknown_8e54c: ; 8e54c - db 1 - db $fc, $fc, $00, $00 -; 8e551 - -Unknown_8e551: ; 8e551 - db 3 - db $00, $f8, $00, $00 - db $f8, $f8, $01, $00 - db $f8, $00, $02, $00 -; 8e55e - -Unknown_8e55e: ; 8e55e - db 7 - db $08, $f0, $00, $00 - db $00, $f0, $01, $00 - db $f8, $f0, $02, $00 - db $f8, $f8, $03, $00 - db $f0, $f8, $04, $00 - db $f0, $00, $05, $00 - db $f0, $08, $06, $00 -; 8e57b - -Unknown_8e57b: ; 8e57b - db 8 - db $f8, $f0, $00, $00 - db $f8, $f8, $01, $00 - db $f8, $00, $01, $20 - db $f8, $08, $00, $20 - db $00, $f0, $00, $40 - db $00, $f8, $01, $40 - db $00, $00, $01, $60 - db $00, $08, $00, $60 -; 8e59c - -Unknown_8e59c: ; 8e59c - db 12 - db $e8, $f8, $00, $00 - db $f0, $f8, $01, $00 - db $f8, $f8, $02, $00 - db $e8, $00, $00, $20 - db $f0, $00, $01, $20 - db $f8, $00, $02, $20 - db $00, $f8, $02, $40 - db $08, $f8, $01, $40 - db $10, $f8, $00, $40 - db $00, $00, $02, $60 - db $08, $00, $01, $60 - db $10, $00, $00, $60 -; 8e5cd - -Unknown_8e5cd: ; 8e5cd - db 20 - db $ec, $f0, $00, $00 - db $ec, $f8, $01, $00 - db $ec, $00, $02, $00 - db $ec, $08, $03, $00 - db $f4, $f0, $04, $00 - db $f4, $f8, $05, $00 - db $f4, $00, $06, $00 - db $f4, $08, $07, $00 - db $fc, $f0, $08, $00 - db $fc, $f8, $09, $00 - db $fc, $00, $0a, $00 - db $fc, $08, $0b, $00 - db $04, $f0, $0c, $00 - db $04, $f8, $0d, $00 - db $04, $00, $0e, $00 - db $04, $08, $0f, $00 - db $0c, $f0, $10, $00 - db $0c, $f8, $11, $00 - db $0c, $00, $12, $00 - db $0c, $08, $13, $00 -; 8e61e - -Unknown_8e61e: ; 8e61e - db 20 - db $00, $08, $00, $81 - db $08, $10, $00, $81 - db $10, $18, $00, $81 - db $18, $20, $00, $81 - db $20, $28, $00, $81 - db $18, $30, $00, $81 - db $10, $38, $00, $81 - db $08, $40, $00, $81 - db $00, $48, $00, $81 - db $08, $50, $00, $81 - db $10, $58, $00, $81 - db $18, $60, $00, $81 - db $20, $68, $00, $81 - db $18, $70, $00, $81 - db $10, $78, $00, $81 - db $08, $80, $00, $81 - db $00, $88, $00, $81 - db $08, $90, $00, $81 - db $10, $98, $00, $81 - db $18, $a0, $00, $81 -; 8e66f - -Unknown_8e66f: ; 8e66f - db 4 - db $f8, $f8, $00, $02 - db $f8, $00, $01, $02 - db $00, $f8, $02, $02 - db $00, $00, $03, $02 -; 8e680 - -Unknown_8e680: ; 8e680 - db 9 - db $f0, $f4, $00, $01 - db $f0, $fc, $01, $01 - db $f0, $04, $02, $01 - db $f8, $f4, $10, $01 - db $f8, $fc, $11, $01 - db $f8, $04, $12, $01 - db $00, $f4, $20, $01 - db $00, $fc, $21, $01 - db $00, $04, $22, $01 -; 8e6a5 - -Unknown_8e6a5: ; 8e6a5 - db 24 - db $d8, $f4, $00, $01 - db $d8, $fc, $01, $01 - db $d8, $04, $02, $01 - db $d8, $0c, $03, $01 - db $e0, $f4, $10, $01 - db $e0, $fc, $11, $01 - db $e0, $04, $12, $01 - db $e0, $0c, $13, $01 - db $e8, $f4, $20, $01 - db $e8, $fc, $21, $01 - db $e8, $04, $22, $01 - db $e8, $0c, $23, $01 - db $f0, $f4, $30, $01 - db $f0, $fc, $31, $01 - db $f0, $04, $32, $01 - db $f0, $0c, $33, $01 - db $f8, $f4, $40, $01 - db $f8, $fc, $41, $01 - db $f8, $04, $42, $01 - db $f8, $0c, $43, $01 - db $00, $f4, $50, $01 - db $00, $fc, $51, $01 - db $00, $04, $52, $01 - db $00, $0c, $53, $01 -; 8e706 - - -Unknown_8e706: ; Broken 2bpp pointers - dbbw $80, $01, $672a ; 128-tile 2bpp at 1:672a (inside Multiply) - dbbw $80, $01, $672a - dbbw $80, $01, $672a - dbbw $80, $01, $672a - dbbw $10, $37, $672a ; 16-tile 2bpp at 37:672a (within Tileset11GFX) - dbbw $10, $11, $672a ; 16-tile 2bpp at 11:672a (empty data) - dbbw $10, $39, $672a ; 16-tile 2bpp at 39:672a (empty data) - dbbw $10, $24, $672a ; 16-tile 2bpp at 24:672a (inside Function926f7) - dbbw $10, $21, $672a ; 16-tile 2bpp at 21:672a (inside Function8671c) - -Function8e72a: ; 8e72a - add $10 -Function8e72c: ; 8e72c - and $3f - cp $20 - jr nc, .asm_8e737 - call Function8e741 - ld a, h - ret - -.asm_8e737 - and $1f - call Function8e741 - ld a, h - xor $ff ; cpl - inc a - ret -; 8e741 - -Function8e741: ; 8e741 - ld e, a - ld a, d - ld d, 0 - ld hl, Unknown_8e75d -rept 2 - add hl, de -endr - ld e, [hl] - inc hl - ld d, [hl] - ld hl, 0 -.asm_8e750 - srl a - jr nc, .asm_8e755 - add hl, de - -.asm_8e755 - sla e - rl d - and a - jr nz, .asm_8e750 - ret -; 8e75d - -Unknown_8e75d: ; 8e75d - sine_wave $100 - +INCLUDE "engine/sprites.asm" Function8e79d: ; 8e79d ld a, [hSGB] @@ -43147,15 +40265,17 @@ Function8e908: ; 8e908 (23:6908) ld [CurIcon], a call Function8e9db ld a, [hObjectStructIndexBuffer] -; and $f \ swap a +; y coord rept 4 add a endr add $1c ld d, a +; x coord ld e, $10 - ld a, $0 - call Function8cfd6 +; type is partymon icon + ld a, SPRITE_ANIM_INDEX_00 + call InitSpriteAnimStruct pop af ld hl, $3 add hl, bc @@ -43200,9 +40320,9 @@ Function8e961: ; 8e961 (23:6961) ld [CurIcon], a xor a call GetIconGFX - ld de, $2420 - ld a, $0 - call Function8cfd6 + lb de, $24, $20 + ld a, SPRITE_ANIM_INDEX_00 + call InitSpriteAnimStruct ld hl, $2 add hl, bc ld [hl], $0 @@ -43216,8 +40336,8 @@ Function8e97d: ; 8e97d (23:697d) call GetIconGFX ld d, $1a ld e, $24 - ld a, $0 - call Function8cfd6 + ld a, SPRITE_ANIM_INDEX_00 + call InitSpriteAnimStruct ld hl, $2 add hl, bc ld [hl], $0 @@ -44351,9 +41471,9 @@ INCBIN "gfx/misc/fast_ship.2bpp" ; 90d32 Function90d32: ; 90d32 (24:4d32) - ld de, $2410 - ld a, $d - call Function3b2a + lb de, $24, $10 + ld a, SPRITE_ANIM_INDEX_0D + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $0 @@ -44873,15 +41993,15 @@ Function9102f: ; 9102f (24:502f) Function9106a: ; 9106a push af ld de, 0 - ld b, $a + ld b, SPRITE_ANIM_INDEX_0A ld a, [PlayerGender] bit 0, a jr z, .asm_91079 - ld b, $1e + ld b, SPRITE_ANIM_INDEX_1E .asm_91079 ld a, b - call Function3b2a + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $10 @@ -44902,8 +42022,8 @@ Function9106a: ; 9106a Function91098: ; 91098 push af ld de, 0 - ld a, $d - call Function3b2a + ld a, SPRITE_ANIM_INDEX_0D + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $4 @@ -44964,9 +42084,9 @@ Function910e8: ; 910e8 Function910f9: ; 910f9 (24:50f9) call Function90da8 - ld de, $2454 - ld a, $14 - call Function3b2a + lb de, $24, $54 + ld a, SPRITE_ANIM_INDEX_14 + call _InitSpriteAnimStruct ld hl, $3 add hl, bc ld [hl], $8 @@ -45543,7 +42663,7 @@ Function91480: ; 91480 (24:5480) ld [wJumptableIndex], a ld a, b ld [wcf64], a - call Function914ab + call DeleteSpriteAnimStruct2ToEnd ret Function91492: ; 91492 @@ -45564,13 +42684,13 @@ Function91492: ; 91492 ; 914ab -Function914ab: ; 914ab (24:54ab) - ld hl, wc314 + 16 - ld bc, $90 +DeleteSpriteAnimStruct2ToEnd: ; 914ab (24:54ab) + ld hl, SpriteAnim2 + ld bc, wSpriteAnimationStructsEnd - SpriteAnim2 xor a call ByteFill - ld a, $2 - ld [wc3b4], a + ld a, 2 + ld [wSpriteAnimCount], a ret Function914bb: ; 914bb (24:54bb) @@ -46043,14 +43163,14 @@ INCLUDE "data/wild/fish.asm" INCLUDE "engine/slot_machine.asm" -SECTION "bank28", ROMX, BANK[$28] +SECTION "Phone Engine", ROMX, BANK[$28] INCLUDE "engine/more_phone_scripts.asm" INCLUDE "engine/buena_phone_scripts.asm" INCLUDE "text/phone/buena.asm" -SECTION "bank29", ROMX, BANK[$29] +SECTION "Phone Text", ROMX, BANK[$29] INCLUDE "text/phone/anthony_overworld.asm" INCLUDE "text/phone/todd_overworld.asm" @@ -48260,9 +45380,9 @@ Functione45e8: ; e45e8 pop af ld [rSVBK], a callba Function8cf53 - ld de, $5458 - ld a, $3 - call Function3b2a + lb de, $54, $58 + ld a, SPRITE_ANIM_INDEX_03 + call _InitSpriteAnimStruct ld hl, $7 add hl, bc ld [hl], $a0 @@ -48940,9 +46060,9 @@ IntroScene7: ; e4b3f (39:4b3f) ld [hWY], a call Functione5516 callba Function8cf53 - ld de, $6cd8 - ld a, $26 - call Function3b2a + lb de, $6c, $d8 + ld a, SPRITE_ANIM_INDEX_26 + call _InitSpriteAnimStruct ld a, $f0 ld [wc3c0], a call Functione549e @@ -49029,16 +46149,16 @@ IntroScene10: ; e4c4f (39:4c4f) .pichu lb de, $a9, $80 - ld a, $27 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_27 + call _InitSpriteAnimStruct ld de, SFX_INTRO_PICHU call PlaySFX ret .wooper lb de, $b0, $30 - ld a, $28 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_28 + call _InitSpriteAnimStruct ld de, SFX_INTRO_PICHU call PlaySFX ret @@ -49215,8 +46335,8 @@ IntroScene13: ; e4d6d (39:4d6d) ld [hWY], a callba Function8cf53 lb de, $6c, $58 - ld a, $26 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_26 + call _InitSpriteAnimStruct ld de, MUSIC_CRYSTAL_OPENING call PlayMusic xor a @@ -49326,11 +46446,11 @@ IntroScene15: ; e4e40 (39:4e40) callba Function8cf53 call Functione549e lb de, $40, $28 - ld a, $2a - call Function3b2a + ld a, SPRITE_ANIM_INDEX_2A + call _InitSpriteAnimStruct lb de, $60, $00 - ld a, $2b - call Function3b2a + ld a, SPRITE_ANIM_INDEX_2B + call _InitSpriteAnimStruct xor a ld [wcf64], a ld [wcf65], a @@ -49478,8 +46598,8 @@ IntroScene19: ; e4f7e (39:4f7e) ld [hl], $7f call Functione549e lb de, $60, $00 - ld a, $2b - call Function3b2a + ld a, SPRITE_ANIM_INDEX_2B + call _InitSpriteAnimStruct xor a ld [wcf64], a ld [wcf65], a @@ -49774,8 +46894,8 @@ Unknown_e519c: ; e519c Functione51dc: ; e51dc (39:51dc) push de - ld a, $29 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_29 + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld [hl], $8 @@ -49784,8 +46904,8 @@ Functione51dc: ; e51dc (39:51dc) pop de push de - ld a, $29 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_29 + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld [hl], $18 @@ -49794,8 +46914,8 @@ Functione51dc: ; e51dc (39:51dc) pop de push de - ld a, $29 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_29 + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld [hl], $28 @@ -49803,8 +46923,8 @@ Functione51dc: ; e51dc (39:51dc) call Function3b3c pop de - ld a, $29 - call Function3b2a + ld a, SPRITE_ANIM_INDEX_29 + call _InitSpriteAnimStruct ld hl, $c add hl, bc ld [hl], $38 @@ -53568,7 +50688,7 @@ Function1047b4: ; 1047b4 (41:47b4) LoadGraphics: ; 1047cf call LoadTilesetHeader - call Function2821 + call LoadTileset xor a ld [hMapAnims], a xor a |