diff options
67 files changed, 10856 insertions, 4318 deletions
diff --git a/asm/bike.s b/asm/bike.s deleted file mode 100644 index 89791b987..000000000 --- a/asm/bike.s +++ /dev/null @@ -1,2199 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start MovePlayerOnBike -@ void MovePlayerOnBike(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerOnBike: @ 8119164 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811918C - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnMachBike - b _08119194 - .pool -_0811918C: - adds r0, r3, 0 - adds r1, r4, 0 - bl MovePlayerOnAcroBike -_08119194: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerOnBike - - thumb_func_start MovePlayerOnMachBike -MovePlayerOnMachBike: @ 811919C - push {r4,lr} - sub sp, 0x4 - mov r1, sp - strb r0, [r1] - ldr r4, =gUnknown_0859744C - mov r0, sp - bl CheckMovementInputMachBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerOnMachBike - - thumb_func_start CheckMovementInputMachBike -CheckMovementInputMachBike: @ 81191CC - push {r4,lr} - adds r4, r0, 0 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldrb r1, [r4] - cmp r1, 0 - bne _081191F4 - strb r0, [r4] - ldr r2, =gPlayerAvatar - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _08119208 - strb r1, [r2, 0x2] - movs r0, 0 - b _0811921C - .pool -_081191F4: - ldr r2, =gPlayerAvatar - cmp r1, r3 - beq _08119218 - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - beq _08119218 - ldrb r0, [r2, 0xB] - cmp r0, 0 - beq _08119214 - strb r3, [r4] -_08119208: - movs r0, 0x2 - strb r0, [r2, 0x2] - movs r0, 0x3 - b _0811921C - .pool -_08119214: - movs r0, 0x1 - b _0811921A -_08119218: - movs r0, 0x2 -_0811921A: - strb r0, [r2, 0x2] -_0811921C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputMachBike - - thumb_func_start sub_8119224 -sub_8119224: @ 8119224 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - bl sub_811A128 - pop {r0} - bx r0 - thumb_func_end sub_8119224 - - thumb_func_start sub_8119238 -sub_8119238: @ 8119238 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - beq _08119270 - adds r0, r5, 0 - bl PlayerTurnInPlace - bl sub_811A128 - b _0811927A - .pool -_08119270: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_8119224 -_0811927A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8119238 - - thumb_func_start sub_8119280 -sub_8119280: @ 8119280 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081192C6 - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _081192BC - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_8119344 - b _0811933A - .pool -_081192BC: - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_8119224 - b _0811933A -_081192C6: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119316 - cmp r4, 0x6 - bne _081192E8 - adds r0, r5, 0 - bl PlayerJumpLedge - b _0811933A -_081192E8: - bl sub_811A128 - cmp r4, 0x4 - bne _08119304 - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _08119304 - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _0811933A -_08119304: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0811933A - adds r0, r7, 0 - bl PlayerOnBikeCollide - b _0811933A -_08119316: - ldr r1, =gUnknown_0859745C - ldrb r0, [r6, 0xA] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r7, 0 - bl _call_via_r1 - ldrb r2, [r6, 0xA] - lsls r0, r2, 24 - lsrs r1, r0, 24 - lsrs r0, 25 - adds r0, r2, r0 - strb r0, [r6, 0xB] - cmp r1, 0x1 - bhi _0811933A - adds r0, r2, 0x1 - strb r0, [r6, 0xA] -_0811933A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119280 - - thumb_func_start sub_8119344 -sub_8119344: @ 8119344 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r6, =gPlayerAvatar - ldrb r0, [r6, 0xB] - cmp r0, 0 - beq _0811935A - subs r0, 0x1 - strb r0, [r6, 0xB] - strb r0, [r6, 0xA] -_0811935A: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _081193AE - cmp r4, 0x6 - bne _08119380 - adds r0, r5, 0 - bl PlayerJumpLedge - b _081193BE - .pool -_08119380: - bl sub_811A128 - cmp r4, 0x4 - bne _0811939C - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _0811939C - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _081193BE -_0811939C: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _081193BE - adds r0, r7, 0 - bl PlayerOnBikeCollide - b _081193BE -_081193AE: - ldr r0, =gUnknown_0859745C - ldrb r1, [r6, 0xA] - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r7, 0 - bl _call_via_r1 -_081193BE: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119344 - - thumb_func_start MovePlayerOnAcroBike -@ void MovePlayerOnAcroBike(int dpad_direction, int buttons_new, int buttons_held) -MovePlayerOnAcroBike: @ 81193C8 - push {r4,lr} - sub sp, 0x4 - mov r3, sp - strb r0, [r3] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gUnknown_08597468 - mov r0, sp - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end MovePlayerOnAcroBike - - thumb_func_start CheckMovementInputAcroBike -CheckMovementInputAcroBike: @ 8119400 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gUnknown_0859749C - ldr r3, =gPlayerAvatar - ldrb r3, [r3, 0x8] - lsls r3, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBike - - thumb_func_start CheckMovementInputAcroBikeNormal -CheckMovementInputAcroBikeNormal: @ 811942C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gPlayerAvatar - movs r0, 0 - strb r0, [r2, 0xA] - ldrb r1, [r4] - cmp r1, 0 - bne _0811946C - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _08119464 - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0x2 - strb r0, [r2, 0x8] - movs r0, 0x3 - b _081194C0 - .pool -_08119464: - strb r3, [r4] - strb r1, [r2, 0x2] - movs r0, 0 - b _081194C0 -_0811946C: - cmp r1, r3 - bne _08119492 - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _0811948A - ldrb r0, [r2, 0xB] - cmp r0, 0 - bne _0811948A - adds r0, 0x1 - strb r0, [r2, 0xB] - movs r0, 0x4 - strb r0, [r2, 0x8] - movs r0, 0xB - b _081194C0 -_0811948A: - ldrb r0, [r4] - ldr r2, =gPlayerAvatar - cmp r0, r3 - beq _081194BC -_08119492: - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x2] - adds r2, r0, 0 - cmp r1, 0x2 - beq _081194BC - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - ldrb r0, [r4] - strb r0, [r2, 0x9] - strb r1, [r2, 0x2] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _081194C0 - .pool -_081194BC: - movs r0, 0x2 - strb r0, [r2, 0x2] -_081194C0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeNormal - - thumb_func_start CheckMovementInputAcroBikeChangingDirection -CheckMovementInputAcroBikeChangingDirection: @ 81194C8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, =gPlayerAvatar - ldrb r0, [r4, 0x9] - strb r0, [r5] - ldrb r0, [r4, 0xA] - adds r0, 0x1 - strb r0, [r4, 0xA] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bls _081194F4 - movs r0, 0x1 - strb r0, [r4, 0x2] - movs r0, 0 - strb r0, [r4, 0x8] - bl sub_811A128 - movs r0, 0x1 - b _0811953A - .pool -_081194F4: - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - bl sub_8119D30 - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _08119536 - bl sub_811A128 - movs r0, 0x1 - strb r0, [r4, 0xB] - adds r0, r6, 0 - bl GetOppositeDirection - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _0811952A - movs r0, 0x6 - strb r0, [r4, 0x8] - movs r0, 0x9 - b _0811953A -_0811952A: - movs r0, 0x2 - strb r0, [r4, 0x2] - movs r0, 0x5 - strb r0, [r4, 0x8] - movs r0, 0x8 - b _0811953A -_08119536: - strb r6, [r5] - movs r0, 0 -_0811953A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeChangingDirection - - thumb_func_start CheckMovementInputAcroBikeStandingWheelie -CheckMovementInputAcroBikeStandingWheelie: @ 8119540 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r4, r2, 16 - lsrs r4, 16 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r1, r0, r1 - movs r0, 0 - strb r0, [r5, 0x2] - movs r0, 0x2 - ands r4, r0 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0 - bne _08119594 - strb r4, [r5, 0xA] - ldrb r0, [r1, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0811959A - strb r6, [r7] - strb r0, [r5, 0x8] - bl sub_811A128 - movs r0, 0x4 - b _081195D8 - .pool -_08119594: - ldrb r0, [r5, 0xA] - adds r0, 0x1 - strb r0, [r5, 0xA] -_0811959A: - ldr r1, =gPlayerAvatar - ldrb r0, [r1, 0xA] - cmp r0, 0x27 - bls _081195B4 - strb r6, [r7] - movs r0, 0x3 - strb r0, [r1, 0x8] - bl sub_811A128 - movs r0, 0x6 - b _081195D8 - .pool -_081195B4: - ldrb r0, [r7] - cmp r0, r6 - bne _081195CA - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x4 - strb r0, [r1, 0x8] - bl sub_811A128 - movs r0, 0xA - b _081195D8 -_081195CA: - cmp r0, 0 - beq _081195D4 - movs r0, 0x1 - strb r0, [r1, 0x2] - b _081195D6 -_081195D4: - strb r6, [r7] -_081195D6: - movs r0, 0x5 -_081195D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckMovementInputAcroBikeStandingWheelie - - thumb_func_start CheckMovementInputAcroBikeBunnyHop -CheckMovementInputAcroBikeBunnyHop: @ 81195E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _08119652 - bl sub_811A128 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08119648 - movs r0, 0x2 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r9 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _08119676 - .pool -_08119648: - strb r5, [r6] - strb r0, [r4, 0x2] - strb r0, [r4, 0x8] - movs r0, 0x4 - b _08119676 -_08119652: - ldrb r0, [r6] - cmp r0, 0 - bne _0811965C - strb r5, [r6] - b _08119668 -_0811965C: - cmp r0, r2 - beq _0811966E - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _0811966E - movs r0, 0x1 -_08119668: - strb r0, [r4, 0x2] - movs r0, 0x6 - b _08119676 -_0811966E: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0x7 -_08119676: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeBunnyHop - - thumb_func_start CheckMovementInputAcroBikeMovingWheelie -CheckMovementInputAcroBikeMovingWheelie: @ 8119688 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, r5, 0 - ldr r4, =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r7, r0, r1 - movs r0, 0x2 - mov r9, r0 - movs r0, 0x2 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _08119720 - bl sub_811A128 - ldrb r0, [r7, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0811970C - strb r1, [r4, 0x8] - ldrb r0, [r6] - cmp r0, 0 - bne _081196EC - strb r5, [r6] - b _081196F6 - .pool -_081196EC: - cmp r0, r5 - beq _081196FC - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _081196FC -_081196F6: - strb r1, [r4, 0x2] - movs r0, 0x4 - b _08119750 -_081196FC: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xC - b _08119750 - .pool -_0811970C: - mov r0, r9 - strb r0, [r4, 0x8] - adds r0, r6, 0 - mov r1, r10 - mov r2, r8 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - b _08119750 -_08119720: - ldrb r0, [r6] - cmp r0, 0 - bne _08119736 - strb r5, [r6] - mov r1, r9 - strb r1, [r4, 0x8] - strb r0, [r4, 0x2] - bl sub_811A128 - movs r0, 0x5 - b _08119750 -_08119736: - cmp r2, r0 - beq _08119748 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _08119748 - movs r0, 0 - strb r0, [r4, 0x2] - movs r0, 0x5 - b _08119750 -_08119748: - ldr r1, =gPlayerAvatar - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xA -_08119750: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeMovingWheelie - - thumb_func_start CheckMovementInputAcroBikeUnknownMode5 -CheckMovementInputAcroBikeUnknownMode5: @ 8119764 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl FieldObjectSetDirection - movs r0, 0 - strb r0, [r6, 0x8] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeUnknownMode5 - - thumb_func_start CheckMovementInputAcroBikeUnknownMode6 -CheckMovementInputAcroBikeUnknownMode6: @ 81197C0 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, =gPlayerAvatar - movs r3, 0 - strb r3, [r4, 0x8] - bl CheckMovementInputAcroBike - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CheckMovementInputAcroBikeUnknownMode6 - - thumb_func_start sub_81197E4 -sub_81197E4: @ 81197E4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end sub_81197E4 - - thumb_func_start sub_81197F4 -sub_81197F4: @ 81197F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811981A - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811981A: - adds r0, r4, 0 - bl PlayerFaceDirection - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81197F4 - - thumb_func_start sub_8119830 -sub_8119830: @ 8119830 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r4, r0, r1 - ldrb r1, [r4, 0x1E] - adds r0, r5, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119868 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_81197E4 - b _081198BA - .pool -_08119868: - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0xA - bhi _081198B4 - cmp r4, 0x6 - bne _0811988A - adds r0, r5, 0 - bl PlayerJumpLedge - b _081198BA -_0811988A: - cmp r4, 0x4 - bne _081198A2 - adds r0, r5, 0 - bl IsPlayerCollidingWithFarawayIslandMew - lsls r0, 24 - cmp r0, 0 - beq _081198A2 - adds r0, r5, 0 - bl PlayerOnBikeCollideWithFarawayIslandMew - b _081198BA -_081198A2: - subs r0, r4, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _081198BA - adds r0, r6, 0 - bl PlayerOnBikeCollide - b _081198BA -_081198B4: - adds r0, r6, 0 - bl PlayerGoSpeed2 -_081198BA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8119830 - - thumb_func_start sub_81198C0 -sub_81198C0: @ 81198C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081198E6 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_081198E6: - adds r0, r4, 0 - bl sub_808B8C0 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81198C0 - - thumb_func_start sub_81198FC -sub_81198FC: @ 81198FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119922 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_08119922: - adds r0, r4, 0 - bl sub_808B8D8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81198FC - - thumb_func_start sub_8119938 -sub_8119938: @ 8119938 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811995E - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811995E: - adds r0, r4, 0 - bl sub_808B8A8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119938 - - thumb_func_start sub_8119974 -sub_8119974: @ 8119974 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _0811999A - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_0811999A: - adds r0, r4, 0 - bl sub_808B8F0 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119974 - - thumb_func_start sub_81199B0 -sub_81199B0: @ 81199B0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _081199E4 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_8119974 - b _08119A1E - .pool -_081199E4: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08119A18 - cmp r1, 0x9 - beq _08119A18 - cmp r1, 0x6 - bne _08119A02 - adds r0, r4, 0 - bl sub_808B938 - b _08119A1E -_08119A02: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08119A1E - cmp r1, 0xB - bhi _08119A18 - adds r0, r4, 0 - bl sub_8119974 - b _08119A1E -_08119A18: - adds r0, r4, 0 - bl sub_808B914 -_08119A1E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81199B0 - - thumb_func_start sub_8119A24 -sub_8119A24: @ 8119A24 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - beq _08119A58 - cmp r0, 0x7 - beq _08119A84 - cmp r0, 0x9 - bls _08119A50 - adds r0, r1, 0 - adds r1, r5, 0 - bl sub_8119FC4 - lsls r0, 24 - cmp r0, 0 - bne _08119A58 -_08119A50: - adds r0, r5, 0 - bl sub_81197F4 - b _08119A84 -_08119A58: - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - movs r0, 0x22 - bl PlaySE - ldrb r0, [r4, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r5, 0 - bl sub_8093514 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl player_npc_set_state_and_x22_etc -_08119A84: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119A24 - - thumb_func_start sub_8119A94 -sub_8119A94: @ 8119A94 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_808B95C - pop {r0} - bx r0 - thumb_func_end sub_8119A94 - - thumb_func_start sub_8119AA4 -sub_8119AA4: @ 8119AA4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119ADC - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8A8 - b _08119B2C - .pool -_08119ADC: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119B22 - cmp r1, 0x6 - bne _08119AFE - adds r0, r4, 0 - bl sub_808B938 - b _08119B2C -_08119AFE: - cmp r1, 0x9 - beq _08119B12 - cmp r1, 0x4 - bhi _08119B2C - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _08119B1A -_08119B12: - adds r0, r4, 0 - bl sub_808B8A8 - b _08119B2C -_08119B1A: - adds r0, r4, 0 - bl sub_808B980 - b _08119B2C -_08119B22: - adds r0, r6, 0 - bl sub_808B9BC - movs r0, 0x2 - strb r0, [r7, 0x2] -_08119B2C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8119AA4 - - thumb_func_start sub_8119B34 -sub_8119B34: @ 8119B34 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r7, =gPlayerAvatar - ldrb r1, [r7, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119B6C - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8C0 - b _08119BBC - .pool -_08119B6C: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119BB2 - cmp r1, 0x6 - bne _08119B8E - adds r0, r4, 0 - bl sub_808B938 - b _08119BBC -_08119B8E: - cmp r1, 0x9 - beq _08119BA2 - cmp r1, 0x4 - bhi _08119BBC - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _08119BAA -_08119BA2: - adds r0, r4, 0 - bl sub_808B8A8 - b _08119BBC -_08119BAA: - adds r0, r4, 0 - bl sub_808B980 - b _08119BBC -_08119BB2: - adds r0, r6, 0 - bl sub_808B9A4 - movs r0, 0x2 - strb r0, [r7, 0x2] -_08119BBC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8119B34 - - thumb_func_start sub_8119BC4 -sub_8119BC4: @ 8119BC4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, =gMapObjects - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_8119F74 - lsls r0, 24 - cmp r0, 0 - bne _08119BFC - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_808B8D8 - b _08119C36 - .pool -_08119BFC: - adds r0, r4, 0 - bl sub_8119E38 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _08119C30 - cmp r1, 0x6 - bne _08119C1E - adds r0, r4, 0 - bl PlayerJumpLedge - b _08119C36 -_08119C1E: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08119C36 - adds r0, r4, 0 - bl sub_808B8D8 - b _08119C36 -_08119C30: - adds r0, r6, 0 - bl npc_use_some_d2s -_08119C36: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8119BC4 - - thumb_func_start sub_8119C3C -@ void sub_8119C3C(int buttons_new, int buttons_held) -sub_8119C3C: @ 8119C3C - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r2, r1, 16 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08119C5A - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8119C64 -_08119C5A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119C3C - - thumb_func_start sub_8119C64 -@ void sub_8119C64(int buttons_new, int buttons_held) -sub_8119C64: @ 8119C64 - push {r4,r5,lr} - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r5, 0 - bl sub_8119DF8 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r4, =gPlayerAvatar - ldr r0, [r4, 0xC] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _08119C90 - ldrb r0, [r4, 0x14] - cmp r0, 0xFE - bhi _08119C9A - adds r0, 0x1 - strb r0, [r4, 0x14] - b _08119C9A - .pool -_08119C90: - adds r0, r2, 0 - bl sub_8119D80 - movs r0, 0 - strb r0, [r4, 0xB] -_08119C9A: - movs r0, 0xF - adds r2, r5, 0 - ands r2, r0 - ldr r4, =gPlayerAvatar - ldr r0, [r4, 0x10] - movs r1, 0xF - ands r0, r1 - cmp r2, r0 - bne _08119CBC - ldrb r0, [r4, 0x1C] - cmp r0, 0xFE - bhi _08119CC6 - adds r0, 0x1 - strb r0, [r4, 0x1C] - b _08119CC6 - .pool -_08119CBC: - adds r0, r2, 0 - bl sub_8119DBC - movs r0, 0 - strb r0, [r4, 0xB] -_08119CC6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8119C64 - - thumb_func_start sub_8119CCC -sub_8119CCC: @ 8119CCC - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - movs r2, 0 - ldrb r0, [r3] - cmp r0, 0 - beq _08119CF6 - ldr r5, =gUnknown_020375A4 -_08119CDC: - adds r0, r2, r5 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bhi _08119D0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08119CDC -_08119CF6: - movs r2, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08119D26 - ldr r3, =gUnknown_020375AC -_08119D00: - adds r0, r2, r3 - adds r1, r4, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _08119D18 -_08119D0C: - movs r0, 0 - b _08119D28 - .pool -_08119D18: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08119D00 -_08119D26: - movs r0, 0x1 -_08119D28: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119CCC - - thumb_func_start sub_8119D30 -sub_8119D30: @ 8119D30 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_08119D36: - ldr r0, =gUnknown_085974C0 - adds r4, r5, r0 - ldr r0, =gPlayerAvatar - ldr r1, [r0, 0xC] - ldr r2, [r0, 0x10] - ldr r0, [r4, 0x8] - ands r1, r0 - ldr r0, [r4, 0xC] - ands r2, r0 - ldr r0, [r4] - cmp r1, r0 - bne _08119D70 - ldr r0, [r4, 0x4] - cmp r2, r0 - bne _08119D70 - ldr r0, [r4, 0x10] - ldr r1, [r4, 0x14] - bl sub_8119CCC - lsls r0, 24 - cmp r0, 0 - beq _08119D70 - ldrb r0, [r4, 0x18] - b _08119D7A - .pool -_08119D70: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - bls _08119D36 - movs r0, 0 -_08119D7A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8119D30 - - thumb_func_start sub_8119D80 -sub_8119D80: @ 8119D80 - push {r4,lr} - lsls r0, 24 - ldr r3, =gPlayerAvatar - ldr r2, [r3, 0xC] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0xC] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x14 -_08119D9C: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08119D9C - movs r0, 0x1 - strb r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119D80 - - thumb_func_start sub_8119DBC -sub_8119DBC: @ 8119DBC - push {r4,lr} - lsls r0, 24 - ldr r3, =gPlayerAvatar - ldr r2, [r3, 0x10] - lsls r2, 4 - movs r1, 0xF0 - lsls r1, 20 - ands r1, r0 - lsrs r1, 24 - orrs r2, r1 - str r2, [r3, 0x10] - movs r1, 0x7 - adds r4, r3, 0 - adds r3, 0x1C -_08119DD8: - adds r2, r1, r3 - subs r1, 0x1 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08119DD8 - movs r0, 0x1 - strb r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119DBC - - thumb_func_start sub_8119DF8 -sub_8119DF8: @ 8119DF8 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08119E0C - movs r0, 0x2 - b _08119E32 -_08119E0C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08119E18 - movs r0, 0x1 - b _08119E32 -_08119E18: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08119E24 - movs r0, 0x3 - b _08119E32 -_08119E24: - movs r0, 0x10 - ands r2, r0 - cmp r2, 0 - bne _08119E30 - movs r0, 0 - b _08119E32 -_08119E30: - movs r0, 0x4 -_08119E32: - pop {r1} - bx r1 - thumb_func_end sub_8119DF8 - - thumb_func_start sub_8119E38 -sub_8119E38: @ 8119E38 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, =gMapObjects - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_8119EA4 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8119E38 - - thumb_func_start sub_8119EA4 -sub_8119EA4: @ 8119EA4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, [sp, 0x10] - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - adds r5, r4, 0 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - str r5, [sp] - bl CheckForFieldObjectCollision - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _08119EE4 - cmp r4, 0 - bne _08119EE0 - adds r0, r5, 0 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - beq _08119EDC - movs r4, 0x2 -_08119EDC: - cmp r4, 0 - beq _08119EE4 -_08119EE0: - bl sub_8119F50 -_08119EE4: - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119EA4 - - thumb_func_start sub_8119EF0 -sub_8119EF0: @ 8119EF0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _08119F08 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x8 - bne _08119F10 -_08119F08: - movs r0, 0x1 - b _08119F12 - .pool -_08119F10: - movs r0, 0 -_08119F12: - pop {r1} - bx r1 - thumb_func_end sub_8119EF0 - - thumb_func_start IsRunningDisallowedByMetatile -@ bool8 IsRunningDisallowedByMetatile(u8 metatileBehavior) -IsRunningDisallowedByMetatile: @ 8119F18 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsRunningDisallowed - lsls r0, 24 - cmp r0, 0 - bne _08119F42 - adds r0, r4, 0 - bl MetatileBehavior_IsFortreeBridge - lsls r0, 24 - cmp r0, 0 - beq _08119F46 - bl PlayerGetZCoord - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _08119F46 -_08119F42: - movs r0, 0x1 - b _08119F48 -_08119F46: - movs r0, 0 -_08119F48: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsRunningDisallowedByMetatile - - thumb_func_start sub_8119F50 -sub_8119F50: @ 8119F50 - push {lr} - ldr r0, =gUnknown_0203AB54 - ldrb r0, [r0] - cmp r0, 0 - beq _08119F66 - ldr r1, =gUnknown_0203AB55 - ldrb r0, [r1] - cmp r0, 0x63 - bhi _08119F66 - adds r0, 0x1 - strb r0, [r1] -_08119F66: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8119F50 - - thumb_func_start sub_8119F74 -sub_8119F74: @ 8119F74 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0xFD - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08119F9E - adds r0, r4, 0 - bl MetatileBehavior_IsIsolatedVerticalRail - lsls r0, 24 - cmp r0, 0 - bne _08119FB6 - adds r0, r4, 0 - bl MetatileBehavior_IsVerticalRail - b _08119FB0 -_08119F9E: - adds r0, r5, 0 - bl MetatileBehavior_IsIsolatedHorizontalRail - lsls r0, 24 - cmp r0, 0 - bne _08119FB6 - adds r0, r5, 0 - bl MetatileBehavior_IsHorizontalRail -_08119FB0: - lsls r0, 24 - cmp r0, 0 - beq _08119FBA -_08119FB6: - movs r0, 0 - b _08119FBC -_08119FBA: - movs r0, 0x1 -_08119FBC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119F74 - - thumb_func_start sub_8119FC4 -sub_8119FC4: @ 8119FC4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - movs r3, 0xFF - lsls r3, 24 - adds r1, r3 - lsrs r1, 24 - cmp r1, 0x1 - bhi _08119FE4 - cmp r0, 0xA - beq _08119FEC - cmp r0, 0xC - bne _08119FF0 - b _08119FEC -_08119FE4: - cmp r2, 0xB - beq _08119FEC - cmp r2, 0xD - bne _08119FF0 -_08119FEC: - movs r0, 0 - b _08119FF2 -_08119FF0: - movs r0, 0x1 -_08119FF2: - pop {r1} - bx r1 - thumb_func_end sub_8119FC4 - - thumb_func_start sub_8119FF8 -sub_8119FF8: @ 8119FF8 - push {r4,lr} - sub sp, 0x4 - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - bne _0811A038 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - cmp r0, 0 - bne _0811A038 - movs r0, 0 - b _0811A03A - .pool -_0811A038: - movs r0, 0x1 -_0811A03A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8119FF8 - - thumb_func_start player_should_look_direction_be_enforced_upon_movement -player_should_look_direction_be_enforced_upon_movement: @ 811A044 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0811A078 - ldr r2, =gMapObjects - ldr r0, =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _0811A078 - movs r0, 0 - b _0811A07A - .pool -_0811A078: - movs r0, 0x1 -_0811A07A: - pop {r1} - bx r1 - thumb_func_end player_should_look_direction_be_enforced_upon_movement - - thumb_func_start GetOnOffBike -@ void GetOnOffBike(u8 transitionFlags) -GetOnOffBike: @ 811A080 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, =gUnknown_02037348 - movs r0, 0 - strb r0, [r1] - ldr r0, =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0811A0B0 - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - bl Overworld_ClearSavedMusic - bl sub_8085784 - b _0811A0C4 - .pool -_0811A0B0: - adds r0, r2, 0 - bl SetPlayerAvatarTransitionFlags - ldr r4, =0x00000193 - adds r0, r4, 0 - bl Overworld_SetSavedMusic - adds r0, r4, 0 - bl Overworld_ChangeMusicTo -_0811A0C4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GetOnOffBike - - thumb_func_start sub_811A0D0 -sub_811A0D0: @ 811A0D0 - push {lr} - ldr r2, =gPlayerAvatar - movs r3, 0 - strb r3, [r2, 0x8] - strb r3, [r2, 0x9] - strb r3, [r2, 0xA] - strb r3, [r2, 0xB] - str r0, [r2, 0xC] - str r1, [r2, 0x10] - movs r1, 0 - adds r2, 0x14 -_0811A0E6: - adds r0, r1, r2 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0811A0E6 - movs r1, 0 - ldr r3, =gUnknown_020375AC - movs r2, 0 -_0811A0FA: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0811A0FA - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A0D0 - - thumb_func_start sub_811A114 -sub_811A114: @ 811A114 - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gPlayerAvatar - strb r0, [r2, 0xA] - lsrs r1, r0, 1 - adds r0, r1 - strb r0, [r2, 0xB] - bx lr - .pool - thumb_func_end sub_811A114 - - thumb_func_start sub_811A128 -sub_811A128: @ 811A128 - ldr r1, =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0xA] - strb r0, [r1, 0xB] - bx lr - .pool - thumb_func_end sub_811A128 - - thumb_func_start sub_811A138 -sub_811A138: @ 811A138 - push {lr} - sub sp, 0x8 - ldr r1, =gUnknown_085974B8 - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r2, =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811A168 - ldrb r0, [r2, 0xA] - lsls r0, 1 - add r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - b _0811A182 - .pool -_0811A168: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A174 - movs r0, 0x3 - b _0811A182 -_0811A174: - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - bne _0811A180 - movs r0, 0x1 - b _0811A182 -_0811A180: - movs r0, 0x2 -_0811A182: - add sp, 0x8 - pop {r1} - bx r1 - thumb_func_end sub_811A138 - - thumb_func_start sub_811A188 -sub_811A188: @ 811A188 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, =gPlayerAvatar - ldrb r1, [r5] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A1D0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsBumpySlope - lsls r0, 24 - cmp r0, 0 - beq _0811A1D0 - movs r0, 0x2 - strb r0, [r5, 0x8] - bl player_get_direction_upper_nybble - lsls r0, 24 - lsrs r0, 24 - bl sub_808C1B4 -_0811A1D0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_811A188 - - thumb_func_start IsRunningDisallowed -@ bool8 IsRunningDisallowed(u8 metatileBehavior) -IsRunningDisallowed: @ 811A1DC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, =gMapHeader - ldrb r1, [r0, 0x1A] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811A1FC - adds r0, r2, 0 - bl IsRunningDisallowedByMetatile - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0811A204 -_0811A1FC: - movs r0, 0x1 - b _0811A206 - .pool -_0811A204: - movs r0, 0 -_0811A206: - pop {r1} - bx r1 - thumb_func_end IsRunningDisallowed - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 9252b79d2..e0e7b5efb 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -62,7 +62,7 @@ _0809BF3C: cmp r6, 0 bne _0809BFA2 _0809BF40: - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x4 diff --git a/asm/field_effect.s b/asm/field_effect.s index 170aa6a63..b6b4803d8 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2027,7 +2027,7 @@ _080B6A8A: thumb_func_start mapldr_08084390 mapldr_08084390: @ 80B6AA4 push {r4,lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =c3_080843F8 movs r1, 0 @@ -2113,7 +2113,7 @@ _080B6B58: thumb_func_start sub_80B6B68 sub_80B6B68: @ 80B6B68 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable bl FreezeMapObjects @@ -2780,7 +2780,7 @@ _080B709C: thumb_func_start sub_80B70B4 sub_80B70B4: @ 80B70B4 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable ldr r0, =sub_80B70DC @@ -3747,7 +3747,7 @@ _080B784C: thumb_func_start mapldr_080851BC mapldr_080851BC: @ 80B7868 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable ldr r0, =gFieldCallback @@ -4458,7 +4458,7 @@ _080B7E40: thumb_func_start mapldr_080859D4 mapldr_080859D4: @ 80B7E48 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable bl FreezeMapObjects @@ -4903,7 +4903,7 @@ _080B81E6: thumb_func_start mapldr_08085D88 mapldr_08085D88: @ 80B8200 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable bl FreezeMapObjects diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 62681e7fb..5385e2eba 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -57,7 +57,7 @@ player_step: @ 808A9C0 bne _0808AA26 adds r0, r7, 0 adds r1, r6, 0 - bl sub_8119C3C + bl Bike_TryAcroBikeHistoryUpdate adds r0, r5, 0 mov r1, r8 bl TryInterruptFieldObjectSpecialAnim @@ -405,7 +405,7 @@ DoForcedMovementInCurrentDirection: @ 808AC58 thumb_func_start ForcedMovement_Slip ForcedMovement_Slip: @ 808AC8C push {lr} - ldr r0, =PlayerGoSpeed1 + ldr r0, =PlayerGoSpeed2 bl DoForcedMovementInCurrentDirection lsls r0, 24 lsrs r0, 24 @@ -417,7 +417,7 @@ ForcedMovement_Slip: @ 808AC8C thumb_func_start ForcedMovement_WalkSouth ForcedMovement_WalkSouth: @ 808ACA0 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -430,7 +430,7 @@ ForcedMovement_WalkSouth: @ 808ACA0 thumb_func_start ForcedMovement_WalkNorth ForcedMovement_WalkNorth: @ 808ACB8 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x2 bl DoForcedMovement lsls r0, 24 @@ -443,7 +443,7 @@ ForcedMovement_WalkNorth: @ 808ACB8 thumb_func_start ForcedMovement_WalkWest ForcedMovement_WalkWest: @ 808ACD0 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x3 bl DoForcedMovement lsls r0, 24 @@ -456,7 +456,7 @@ ForcedMovement_WalkWest: @ 808ACD0 thumb_func_start ForcedMovement_WalkEast ForcedMovement_WalkEast: @ 808ACE8 push {lr} - ldr r1, =PlayerGoSpeed0 + ldr r1, =PlayerGoSpeed1 movs r0, 0x4 bl DoForcedMovement lsls r0, 24 @@ -469,7 +469,7 @@ ForcedMovement_WalkEast: @ 808ACE8 thumb_func_start ForcedMovement_PushedSouthByCurrent ForcedMovement_PushedSouthByCurrent: @ 808AD00 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -482,7 +482,7 @@ ForcedMovement_PushedSouthByCurrent: @ 808AD00 thumb_func_start ForcedMovement_PushedNorthByCurrent ForcedMovement_PushedNorthByCurrent: @ 808AD18 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x2 bl DoForcedMovement lsls r0, 24 @@ -495,7 +495,7 @@ ForcedMovement_PushedNorthByCurrent: @ 808AD18 thumb_func_start ForcedMovement_PushedWestByCurrent ForcedMovement_PushedWestByCurrent: @ 808AD30 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x3 bl DoForcedMovement lsls r0, 24 @@ -508,7 +508,7 @@ ForcedMovement_PushedWestByCurrent: @ 808AD30 thumb_func_start ForcedMovement_PushedEastByCurrent ForcedMovement_PushedEastByCurrent: @ 808AD48 push {lr} - ldr r1, =PlayerGoSpeed2 + ldr r1, =PlayerGoSpeed3 movs r0, 0x4 bl DoForcedMovement lsls r0, 24 @@ -548,7 +548,7 @@ ForcedMovement_Slide: @ 808AD60 thumb_func_start ForcedMovement_SlideSouth ForcedMovement_SlideSouth: @ 808AD98 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x1 bl ForcedMovement_Slide lsls r0, 24 @@ -561,7 +561,7 @@ ForcedMovement_SlideSouth: @ 808AD98 thumb_func_start ForcedMovement_SlideNorth ForcedMovement_SlideNorth: @ 808ADB0 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x2 bl ForcedMovement_Slide lsls r0, 24 @@ -574,7 +574,7 @@ ForcedMovement_SlideNorth: @ 808ADB0 thumb_func_start ForcedMovement_SlideWest ForcedMovement_SlideWest: @ 808ADC8 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x3 bl ForcedMovement_Slide lsls r0, 24 @@ -587,7 +587,7 @@ ForcedMovement_SlideWest: @ 808ADC8 thumb_func_start ForcedMovement_SlideEast ForcedMovement_SlideEast: @ 808ADE0 push {lr} - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x4 bl ForcedMovement_Slide lsls r0, 24 @@ -630,19 +630,19 @@ ForcedMovement_MuddySlope: @ 808AE10 ands r0, r1 cmp r0, 0x20 bne _0808AE36 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x3 bgt _0808AE60 _0808AE36: movs r0, 0 - bl sub_811A114 + bl Bike_UpdateBikeCounterSpeed ldrb r0, [r4, 0x1] movs r1, 0x2 orrs r0, r1 strb r0, [r4, 0x1] - ldr r1, =PlayerGoSpeed1 + ldr r1, =PlayerGoSpeed2 movs r0, 0x1 bl DoForcedMovement lsls r0, 24 @@ -791,7 +791,7 @@ _0808AF4E: cmp r0, 0 beq _0808AF68 adds r0, r5, 0 - bl PlayerGoSpeed1 + bl PlayerGoSpeed2 b _0808AFB6 .pool _0808AF68: @@ -829,7 +829,7 @@ _0808AF68: .pool _0808AFB0: adds r0, r5, 0 - bl PlayerGoSpeed0 + bl PlayerGoSpeed1 _0808AFB6: pop {r4-r6} pop {r0} @@ -1471,7 +1471,7 @@ PlayerAvatarTransition_MachBike: @ 808B46C bl SetPlayerAvatarStateMask movs r0, 0 movs r1, 0 - bl sub_811A0D0 + bl BikeClearState pop {r4} pop {r0} bx r0 @@ -1497,8 +1497,8 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0 bl SetPlayerAvatarStateMask movs r0, 0 movs r1, 0 - bl sub_811A0D0 - bl sub_811A188 + bl BikeClearState + bl Bike_HandleBumpySlopeJump pop {r4} pop {r0} bx r0 @@ -1774,9 +1774,9 @@ sub_808B6BC: @ 808B6BC .pool thumb_func_end sub_808B6BC - thumb_func_start player_npc_set_state_and_x22_etc -@ void player_npc_set_state_and_x22_etc(u8 animState, u8 a2) -player_npc_set_state_and_x22_etc: @ 808B6E4 + thumb_func_start PlayerSetAnimId +@ void PlayerSetAnimId(u8 animState, u8 a2) +PlayerSetAnimId: @ 808B6E4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 @@ -1802,11 +1802,11 @@ _0808B712: pop {r0} bx r0 .pool - thumb_func_end player_npc_set_state_and_x22_etc + thumb_func_end PlayerSetAnimId - thumb_func_start PlayerGoSpeed0 -@ void PlayerGoSpeed0(u8 direction) -PlayerGoSpeed0: @ 808B720 + thumb_func_start PlayerGoSpeed1 +@ void PlayerGoSpeed1(u8 direction) +PlayerGoSpeed1: @ 808B720 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1814,14 +1814,14 @@ PlayerGoSpeed0: @ 808B720 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed0 + thumb_func_end PlayerGoSpeed1 - thumb_func_start PlayerGoSpeed1 -@ void PlayerGoSpeed1(u8 direction) -PlayerGoSpeed1: @ 808B738 + thumb_func_start PlayerGoSpeed2 +@ void PlayerGoSpeed2(u8 direction) +PlayerGoSpeed2: @ 808B738 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1829,14 +1829,14 @@ PlayerGoSpeed1: @ 808B738 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed1 + thumb_func_end PlayerGoSpeed2 - thumb_func_start PlayerGoSpeed2 -@ void PlayerGoSpeed2(u8 direction) -PlayerGoSpeed2: @ 808B750 + thumb_func_start PlayerGoSpeed3 +@ void PlayerGoSpeed3(u8 direction) +PlayerGoSpeed3: @ 808B750 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1844,14 +1844,14 @@ PlayerGoSpeed2: @ 808B750 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed2 + thumb_func_end PlayerGoSpeed3 - thumb_func_start PlayerGoSpeed3 -@ void PlayerGoSpeed3(u8 direction) -PlayerGoSpeed3: @ 808B768 + thumb_func_start PlayerGoSpeed4 +@ void PlayerGoSpeed4(u8 direction) +PlayerGoSpeed4: @ 808B768 push {lr} lsls r0, 24 lsrs r0, 24 @@ -1859,10 +1859,10 @@ PlayerGoSpeed3: @ 808B768 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end PlayerGoSpeed3 + thumb_func_end PlayerGoSpeed4 thumb_func_start PlayerRun @ void PlayerRun(u8 direction) @@ -1874,7 +1874,7 @@ PlayerRun: @ 808B780 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerRun @@ -1893,7 +1893,7 @@ PlayerOnBikeCollide: @ 808B798 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -1909,7 +1909,7 @@ PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerOnBikeCollideWithFarawayIslandMew @@ -1928,7 +1928,7 @@ PlayerNotOnBikeCollide: @ 808B7D4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -1944,7 +1944,7 @@ PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerNotOnBikeCollideWithFarawayIslandMew @@ -1959,7 +1959,7 @@ PlayerFaceDirection: @ 808B810 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerFaceDirection @@ -1974,7 +1974,7 @@ PlayerTurnInPlace: @ 808B828 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end PlayerTurnInPlace @@ -1993,7 +1993,7 @@ PlayerJumpLedge: @ 808B840 lsls r0, 24 lsrs r0, 24 movs r1, 0x8 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -2033,8 +2033,8 @@ _0808B89A: .pool thumb_func_end sub_808B864 - thumb_func_start sub_808B8A8 -sub_808B8A8: @ 808B8A8 + thumb_func_start PlayerIdleWheelie +PlayerIdleWheelie: @ 808B8A8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2042,13 +2042,13 @@ sub_808B8A8: @ 808B8A8 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8A8 + thumb_func_end PlayerIdleWheelie - thumb_func_start sub_808B8C0 -sub_808B8C0: @ 808B8C0 + thumb_func_start PlayerStartWheelie +PlayerStartWheelie: @ 808B8C0 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2056,13 +2056,13 @@ sub_808B8C0: @ 808B8C0 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8C0 + thumb_func_end PlayerStartWheelie - thumb_func_start sub_808B8D8 -sub_808B8D8: @ 808B8D8 + thumb_func_start PlayerEndWheelie +PlayerEndWheelie: @ 808B8D8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2070,13 +2070,13 @@ sub_808B8D8: @ 808B8D8 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 - thumb_func_end sub_808B8D8 + thumb_func_end PlayerEndWheelie - thumb_func_start sub_808B8F0 -sub_808B8F0: @ 808B8F0 + thumb_func_start PlayerStandingHoppingWheelie +PlayerStandingHoppingWheelie: @ 808B8F0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2088,14 +2088,14 @@ sub_808B8F0: @ 808B8F0 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B8F0 + thumb_func_end PlayerStandingHoppingWheelie - thumb_func_start sub_808B914 -sub_808B914: @ 808B914 + thumb_func_start PlayerMovingHoppingWheelie +PlayerMovingHoppingWheelie: @ 808B914 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2107,14 +2107,14 @@ sub_808B914: @ 808B914 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B914 + thumb_func_end PlayerMovingHoppingWheelie - thumb_func_start sub_808B938 -sub_808B938: @ 808B938 + thumb_func_start PlayerLedgeHoppingWheelie +PlayerLedgeHoppingWheelie: @ 808B938 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2126,14 +2126,14 @@ sub_808B938: @ 808B938 lsls r0, 24 lsrs r0, 24 movs r1, 0x8 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B938 + thumb_func_end PlayerLedgeHoppingWheelie - thumb_func_start sub_808B95C -sub_808B95C: @ 808B95C + thumb_func_start PlayerAcroTurnJump +PlayerAcroTurnJump: @ 808B95C push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2145,11 +2145,11 @@ sub_808B95C: @ 808B95C lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 - thumb_func_end sub_808B95C + thumb_func_end PlayerAcroTurnJump thumb_func_start sub_808B980 sub_808B980: @ 808B980 @@ -2164,7 +2164,7 @@ sub_808B980: @ 808B980 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r4} pop {r0} bx r0 @@ -2179,7 +2179,7 @@ sub_808B9A4: @ 808B9A4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end sub_808B9A4 @@ -2193,7 +2193,7 @@ sub_808B9BC: @ 808B9BC lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end sub_808B9BC @@ -2207,7 +2207,7 @@ npc_use_some_d2s: @ 808B9D4 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl player_npc_set_state_and_x22_etc + bl PlayerSetAnimId pop {r0} bx r0 thumb_func_end npc_use_some_d2s @@ -2592,9 +2592,9 @@ sub_808BCF4: @ 808BCF4 lsls r0, 24 cmp r0, 0 beq _0808BD2C - bl sub_811A188 + bl Bike_HandleBumpySlopeJump movs r0, 0 - bl sub_811A114 + bl Bike_UpdateBikeCounterSpeed _0808BD2C: pop {r4} pop {r0} diff --git a/asm/field_screen.s b/asm/field_screen.s index 408f131c7..c16068a15 100644 --- a/asm/field_screen.s +++ b/asm/field_screen.s @@ -7975,7 +7975,7 @@ _080AF120: sub_80AF128: @ 80AF128 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task0A_nop_for_a_while movs r1, 0xA @@ -8006,7 +8006,7 @@ _080AF160: sub_80AF168: @ 80AF168 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running movs r1, 0xA @@ -8092,7 +8092,7 @@ _080AF20E: sub_80AF214: @ 80AF214 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl palette_bg_faded_fill_black ldr r0, =task_mpl_807DD60 movs r1, 0xA @@ -8220,7 +8220,7 @@ _080AF30C: sub_80AF314: @ 80AF314 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl palette_bg_faded_fill_black ldr r0, =sub_80AF234 movs r1, 0xA @@ -8279,7 +8279,7 @@ _080AF37E: thumb_func_start mapldr_default mapldr_default: @ 80AF398 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_80AF334 bl ScriptContext2_Enable @@ -8290,7 +8290,7 @@ mapldr_default: @ 80AF398 thumb_func_start sub_80AF3B0 sub_80AF3B0: @ 80AF3B0 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl sub_80AF08C bl sub_80AF334 bl ScriptContext2_Enable @@ -8304,7 +8304,7 @@ sub_80AF3C8: @ 80AF3C8 bl sub_81D6534 cmp r0, 0 bne _080AF3D6 - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic _080AF3D6: bl pal_fill_black bl sub_80AF334 @@ -8316,7 +8316,7 @@ _080AF3D6: thumb_func_start sub_80AF3E8 sub_80AF3E8: @ 80AF3E8 push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights movs r0, 0x2E bl PlaySE @@ -8332,7 +8332,7 @@ sub_80AF3E8: @ 80AF3E8 thumb_func_start sub_80AF40C sub_80AF40C: @ 80AF40C push {lr} - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights movs r0, 0x2E bl PlaySE @@ -8680,7 +8680,7 @@ sub_80AF6D4: @ 80AF6D4 sub_80AF6F0: @ 80AF6F0 push {lr} bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl pal_fill_black ldr r0, =task_mpl_807E3C8 movs r1, 0xA diff --git a/asm/field_specials.s b/asm/field_specials.s index 608924603..ec4ce00b5 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -32,10 +32,10 @@ Special_ViewWallClock: @ 8137CC8 thumb_func_start ResetCyclingRoadChallengeData ResetCyclingRoadChallengeData: @ 8137CEC - ldr r0, =gUnknown_0203AB54 + ldr r0, =gBikeCyclingChallenge movs r1, 0 strb r1, [r0] - ldr r0, =gUnknown_0203AB55 + ldr r0, =0x0203ab55 strb r1, [r0] ldr r1, =gUnknown_0203AB58 movs r0, 0 @@ -46,10 +46,10 @@ ResetCyclingRoadChallengeData: @ 8137CEC thumb_func_start Special_BeginCyclingRoadChallenge Special_BeginCyclingRoadChallenge: @ 8137D0C - ldr r1, =gUnknown_0203AB54 + ldr r1, =gBikeCyclingChallenge movs r0, 0x1 strb r0, [r1] - ldr r1, =gUnknown_0203AB55 + ldr r1, =0x0203ab55 movs r0, 0 strb r0, [r1] ldr r1, =gUnknown_0203AB58 @@ -218,7 +218,7 @@ FinishCyclingRoadChallenge: @ 8137E6C ldr r4, [r0, 0x20] ldr r0, [r1] subs r4, r0 - ldr r5, =gUnknown_0203AB55 + ldr r5, =0x0203ab55 ldrb r1, [r5] adds r0, r4, 0 bl DetermineCyclingRoadResults diff --git a/asm/field_tasks.s b/asm/field_tasks.s index 39bd3b545..4befe0ca7 100644 --- a/asm/field_tasks.s +++ b/asm/field_tasks.s @@ -1662,7 +1662,7 @@ _0809E572: lsls r0, 24 cmp r0, 0 beq _0809E5D2 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x4 diff --git a/asm/hof_pc.s b/asm/hof_pc.s index 2456c18ba..29ca9204f 100644 --- a/asm/hof_pc.s +++ b/asm/hof_pc.s @@ -34,7 +34,7 @@ ReshowPCMenuAfterHallOfFamePC: @ 8137C5C push {lr} sub sp, 0x4 bl ScriptContext2_Enable - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic bl sp109_CreatePCMenu bl sub_80E2514 movs r0, 0x1 diff --git a/asm/item_use.s b/asm/item_use.s index ebf5ac979..0d9f30ec3 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -354,7 +354,7 @@ _080FD320: bl sav1_map_is_biking_allowed cmp r0, 0x1 bne _080FD348 - bl sub_8119FF8 + bl IsBikingDisallowedByPlayer lsls r0, 24 cmp r0, 0 bne _080FD348 diff --git a/asm/overworld.s b/asm/overworld.s index 5f58e6d14..5de62b896 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -2212,8 +2212,8 @@ call_ResetMapMusic: @ 8085778 bx r0 thumb_func_end call_ResetMapMusic - thumb_func_start sub_8085784 -sub_8085784: @ 8085784 + thumb_func_start Overworld_PlaySpecialMapMusic +Overworld_PlaySpecialMapMusic: @ 8085784 push {r4,lr} bl sav1_map_get_music lsls r0, 16 @@ -2261,7 +2261,7 @@ _080857E8: pop {r0} bx r0 .pool - thumb_func_end sub_8085784 + thumb_func_end Overworld_PlaySpecialMapMusic thumb_func_start Overworld_SetSavedMusic Overworld_SetSavedMusic: @ 80857F4 diff --git a/asm/pokedex.s b/asm/pokedex.s index a0edbab0e..ac35c3f7b 100644 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -2028,7 +2028,7 @@ _080BC56E: bl SetGpuReg movs r0, 0 bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0855D298 + ldr r1, =gBgTemplates_0855D298 movs r0, 0 movs r2, 0x4 bl InitBgsFromTemplates @@ -2119,7 +2119,7 @@ _080BC682: lsls r0, 31 lsrs r0, 31 bl sub_80BC844 - ldr r0, =gUnknown_0855D2A8 + ldr r0, =sWindowTemplates_0855D2A8 bl InitWindows bl DeactivateAllTextPrinters movs r0, 0 @@ -2141,9 +2141,9 @@ _080BC6CC: ldr r1, =gReservedSpritePaletteCount movs r0, 0x8 strb r0, [r1] - ldr r0, =gUnknown_0855D26C + ldr r0, =gSpriteSheets_0855D26C bl LoadCompressedObjectPic - ldr r0, =gUnknown_0855D27C + ldr r0, =gSpritePalettes_0855D26C bl LoadSpritePalettes adds r0, r5, 0 bl sub_80BDB7C @@ -2298,7 +2298,7 @@ _080BC858: bl IsNationalPokedexEnabled cmp r0, 0 bne _080BC870 - ldr r0, =gUnknown_08DC16F6 + ldr r0, =gUnknown_08DC16F4 + 2 _080BC862: movs r1, 0x1 movs r2, 0xBE @@ -2609,7 +2609,7 @@ _080BCACC: movs r7, 0x1 mov r9, r7 _080BCADA: - ldr r1, =gUnknown_0855C6A4 + ldr r1, =gPokedexOrder_Alphabetical lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -2687,7 +2687,7 @@ _080BCB78: ldr r7, =gUnknown_02039B4C ldr r6, =0x0000060c _080BCB82: - ldr r1, =gUnknown_0855C9DA + ldr r1, =gPokedexOrder_Weight asrs r0, 15 adds r0, r1 ldrh r0, [r0] @@ -2752,7 +2752,7 @@ _080BCC08: ldr r0, =0x00000181 mov r9, r0 _080BCC16: - ldr r1, =gUnknown_0855C9DA + ldr r1, =gPokedexOrder_Weight lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -2819,7 +2819,7 @@ _080BCCA0: ldr r7, =gUnknown_02039B4C ldr r6, =0x0000060c _080BCCAA: - ldr r1, =gUnknown_0855CCDE + ldr r1, =gPokedexOrder_Height asrs r0, 15 adds r0, r1 ldrh r0, [r0] @@ -2884,7 +2884,7 @@ _080BCD30: ldr r0, =0x00000181 mov r9, r0 _080BCD3E: - ldr r1, =gUnknown_0855CCDE + ldr r1, =gPokedexOrder_Height lsls r4, 16 asrs r0, r4, 15 adds r0, r1 @@ -3517,7 +3517,7 @@ sub_80BD23C: @ 80BD23C b _080BD266 .pool _080BD264: - ldr r4, =gUnknown_0855D2FE + ldr r4, =sText_TenDashes _080BD266: str r5, [sp] movs r0, 0 @@ -8751,7 +8751,7 @@ _080C00E8: ands r1, r0 cmp r1, 0 beq _080C0114 - ldr r0, =gUnknown_08DC16F6 + ldr r0, =gUnknown_08DC16F4 + 2 movs r1, 0x31 movs r2, 0xE bl LoadPalette @@ -11172,9 +11172,9 @@ _080C13F0: b _080C1516 .pool _080C1414: - ldr r0, =gUnknown_0855D26C + ldr r0, =gSpriteSheets_0855D26C bl LoadCompressedObjectPic - ldr r0, =gUnknown_0855D27C + ldr r0, =gSpritePalettes_0855D26C bl LoadSpritePalettes adds r0, r4, 0 bl sub_80C2594 diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s index 79838f6f9..9157059db 100755 --- a/asm/pokemon_icon.s +++ b/asm/pokemon_icon.s @@ -28,15 +28,15 @@ sub_80D2CC4: @ 80D2CC4 lsls r0, 24 lsrs r0, 24 mov r9, r0 - ldr r0, =gUnknown_0857C570 + ldr r0, =sMonIconOamData str r0, [sp, 0x18] adds r0, r4, 0 adds r2, r5, 0 bl GetMonIconPtr str r0, [sp, 0x1C] - ldr r0, =gUnknown_0857C5B4 + ldr r0, =sMonIconAnims str r0, [sp, 0x20] - ldr r0, =gUnknown_0857C5E8 + ldr r0, =sMonIconAffineAnims str r0, [sp, 0x24] str r6, [sp, 0x28] ldr r0, =gMonIconPaletteIndices @@ -102,13 +102,13 @@ sub_80D2D78: @ 80D2D78 lsls r6, 24 lsrs r6, 24 mov r3, sp - ldr r2, =gUnknown_0857C570 + ldr r2, =sMonIconOamData str r2, [sp] movs r2, 0 str r2, [sp, 0x4] - ldr r2, =gUnknown_0857C5B4 + ldr r2, =sMonIconAnims str r2, [sp, 0x8] - ldr r2, =gUnknown_0857C5E8 + ldr r2, =sMonIconAffineAnims str r2, [sp, 0xC] str r1, [sp, 0x10] ldr r2, =gMonIconPaletteIndices @@ -601,7 +601,7 @@ _080D3126: strb r7, [r5] b _080D31A4 _080D312A: - ldr r2, =gUnknown_0857C5F0 + ldr r2, =sSpriteImageSizes ldrb r1, [r4, 0x3] lsrs r1, 6 lsls r1, 1 @@ -689,7 +689,7 @@ sub_80D31B4: @ 80D31B4 mov r8, r0 movs r0, 0 str r0, [sp, 0x30] - ldr r2, =gUnknown_0857C5F0 + ldr r2, =sSpriteImageSizes mov r0, r9 ldr r6, [r0] ldrb r1, [r6, 0x3] @@ -776,7 +776,7 @@ sub_80D328C: @ 80D328C sub sp, 0x8 movs r1, 0 str r1, [sp] - ldr r3, =gUnknown_0857C5F0 + ldr r3, =sSpriteImageSizes ldrb r2, [r0, 0x3] lsrs r2, 6 lsls r2, 1 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 1ba3b773d..162f4b4e2 100755 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1106,7 +1106,7 @@ sub_80C7958: @ 80C7958 ldrh r0, [r3] adds r0, 0x1 strh r0, [r1] - ldr r0, =gUnknown_08571710 + ldr r0, =sSpriteAnimTable_8571710 str r0, [sp, 0xC] movs r4, 0 _080C7A10: @@ -9124,7 +9124,7 @@ _080CBF80: adds r1, r3 ldr r0, [r1] ldr r2, [r0] - ldr r0, =gUnknown_0857291C + ldr r0, =gSpriteAffineAnimTable_857291C str r0, [r2, 0x10] ldr r0, [r1] ldr r0, [r0] diff --git a/asm/rayquaza_scene.s b/asm/rayquaza_scene.s index 58380a354..e6147333c 100755 --- a/asm/rayquaza_scene.s +++ b/asm/rayquaza_scene.s @@ -1172,8 +1172,8 @@ _081D7082: .pool thumb_func_end sub_81D706C - thumb_func_start task_add_00_WIN0V_open_close_above_and_more -task_add_00_WIN0V_open_close_above_and_more: @ 81D7134 + thumb_func_start sub_81D7134 +sub_81D7134: @ 81D7134 push {r4-r7,lr} sub sp, 0x8 lsls r0, 24 @@ -1264,7 +1264,7 @@ _081D71EE: pop {r0} bx r0 .pool - thumb_func_end task_add_00_WIN0V_open_close_above_and_more + thumb_func_end sub_81D7134 thumb_func_start sub_81D7228 sub_81D7228: @ 81D7228 diff --git a/asm/rom6.s b/asm/rom6.s index e3145fb8a..51ae2834f 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -447,5 +447,5 @@ _081357EE: bx r0 .pool thumb_func_end sub_81357BC - + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s index 5b7671bf8..da5e73034 100644 --- a/asm/rotating_gate.s +++ b/asm/rotating_gate.s @@ -410,7 +410,7 @@ sub_80FBAE4: @ 80FBAE4 adds r0, r4, 0x4 lsls r0, 24 lsrs r4, r0, 24 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x1 @@ -433,7 +433,7 @@ _080FBB2A: adds r0, 0x8 lsls r0, 24 lsrs r4, r0, 24 - bl sub_811A138 + bl GetPlayerSpeed lsls r0, 16 asrs r0, 16 cmp r0, 0x1 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 49ff1748d..3c1b46dcc 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -5766,7 +5766,7 @@ sub_80C58D4: @ 80C58D4 beq _080C5914 cmp r0, 0x2 beq _080C591C - bl sub_8085784 + bl Overworld_PlaySpecialMapMusic b _080C5924 .pool _080C5914: diff --git a/data/bike.s b/data/bike.s deleted file mode 100644 index ffb33e52b..000000000 --- a/data/bike.s +++ /dev/null @@ -1,58 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0859744C:: @ 859744C - .4byte sub_8119224 - .4byte sub_8119238 - .4byte sub_8119280 - .4byte sub_8119344 - - .align 2 -gUnknown_0859745C:: @ 859745C - .4byte PlayerGoSpeed0 - .4byte PlayerGoSpeed1 - .4byte PlayerGoSpeed3 - - .align 2 -gUnknown_08597468:: @ 8597468 - .4byte sub_81197E4 - .4byte sub_81197F4 - .4byte sub_8119830 - .4byte sub_81198C0 - .4byte sub_81198FC - .4byte sub_8119938 - .4byte sub_8119974 - .4byte sub_81199B0 - .4byte sub_8119A24 - .4byte sub_8119A94 - .4byte sub_8119AA4 - .4byte sub_8119B34 - .4byte sub_8119BC4 - - .align 2 -gUnknown_0859749C:: @ 859749C - .4byte CheckMovementInputAcroBikeNormal - .4byte CheckMovementInputAcroBikeChangingDirection - .4byte CheckMovementInputAcroBikeStandingWheelie - .4byte CheckMovementInputAcroBikeBunnyHop - .4byte CheckMovementInputAcroBikeMovingWheelie - .4byte CheckMovementInputAcroBikeUnknownMode5 - .4byte CheckMovementInputAcroBikeUnknownMode6 - - .align 2 -gUnknown_085974B8:: @ 85974B8 - .2byte 0x0001, 0x0002, 0x0004 - - .align 1 -gUnknown_085974BE:: @ 85974BE - .2byte 0x0004 - - .align 2 -gUnknown_085974C0:: @ 85974C0 - .4byte 0x00000001, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000001 - .4byte 0x00000002, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000002 - .4byte 0x00000003, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000003 - .4byte 0x00000004, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000004 diff --git a/data/graphics.s b/data/graphics.s index e135a63e3..ff1034587 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -20,7 +20,7 @@ gUnknown_08C01644:: @ 8C01644 gUnknown_08C01724:: @ 8C01724 .incbin "baserom.gba", 0xc01724, 0x18 - + .align 2 gInterfaceGfx_PokeBall:: .incbin "graphics/interface/ball/poke.4bpp.lz" @ 0xBC @@ -126,23 +126,23 @@ gBlankGfxCompressed:: @ 8C0237C gUnknown_08C093F0:: @ 8C093F0 .incbin "baserom.gba", 0xc093f0, 0x87ac - .align 2 + .align 2 gBattleInterface_BallStatusBarPal:: @ 8C11B9C .incbin "graphics/battle_interface/ball_status_bar.gbapal" - .align 2 + .align 2 gBattleInterface_BallDisplayPal:: @ 8C11BBC .incbin "graphics/battle_interface/ball_display.gbapal" - .align 2 + .align 2 gHealthboxElementsGfxTable:: @ 8C11BDC .incbin "baserom.gba", 0xc11bdc, 0x840 - .align 2 + .align 2 gBattleInterface_BallDisplayGfx:: @ 8C1241C .incbin "graphics/battle_interface/ball_display.4bpp" - .align 2 + .align 2 gUnknown_08C1249C:: @ 8C1249C .incbin "baserom.gba", 0xc1249c, 0x49f4 @@ -268,28 +268,28 @@ gSubstituteDollGfx:: @ 8C2CEE0 gSubstituteDollTilemap:: @ 8C2D120 .incbin "baserom.gba", 0xc2d120, 552 - + gUnknown_08C2D348:: @ 8C2D348 .incbin "baserom.gba", 0xC2D348, 196 - + gUnknown_08C2D40C:: @ 8C2D40C .incbin "baserom.gba", 0xC2D40C, 28 - + gContestConfetti_Gfx:: @ 8C2D428 .incbin "baserom.gba", 0xC2D428, 288 - + gContestConfetti_Pal:: @ 8C2D548 .incbin "baserom.gba", 0xC2D548, 40 - + gUnknown_08C2D570:: @ 8C2D570 .incbin "baserom.gba", 0xC2D570, 316 - + gUnknown_08C2D6AC:: @ 8C2D6AC .incbin "baserom.gba", 0xC2D6AC, 36 - + gUnknown_08C2D6D0:: @ 8C2D6D0 .incbin "baserom.gba", 0xC2D6D0, 40 - + gUnknown_08C2D6F8:: @ 8C2D6F8 .incbin "baserom.gba", 0xC2D6F8, 40 @@ -851,10 +851,31 @@ gUnknown_08D96AB4:: @ 8D96AB4 .incbin "baserom.gba", 0xd96ab4, 0xec gUnknown_08D96BA0:: @ 8D96BA0 - .incbin "baserom.gba", 0xd96ba0, 0xfe4 + .incbin "baserom.gba", 0xd96ba0, 0x138 + +gUnknown_08D96CD8:: @ 8D96CD8 + .incbin "baserom.gba", 0xd96cd8, 0x294 + +gUnknown_08D96F6C:: @ 8D96F6C + .incbin "baserom.gba", 0xd96f6c, 0x24 + +gUnknown_08D96F90:: @ 8D96F90 + .incbin "baserom.gba", 0xd96f90, 0x1F8 + +gUnknown_08D97188:: @ 8D97188 + .incbin "baserom.gba", 0xd97188, 0x28 + +gUnknown_08D971B0:: @ 8D971B0 + .incbin "baserom.gba", 0xd971b0, 0x9D4 gUnknown_08D97B84:: @ 8D97B84 - .incbin "baserom.gba", 0xd97b84, 0x188 + .incbin "baserom.gba", 0xd97b84, 0x68 + +gUnknown_08D97BEC:: @ 8D97BEC + .incbin "baserom.gba", 0xd97bec, 0x108 + +gUnknown_08D97CF4:: @ 8D97CF4 + .incbin "baserom.gba", 0xd97cf4, 0x18 gUnknown_08D97D0C:: @ 8D97D0C .incbin "baserom.gba", 0xd97d0c, 0x830 @@ -906,25 +927,25 @@ gMenuMoneyPal:: @ 8D9B0C8 gBuyMenuFrame_Tilemap:: @ 8D9B0F0 .incbin "baserom.gba", 0xd9b0f0, 0x140 - + gMenuMoneyGfx:: @ 8D9B230 - .incbin "baserom.gba", 0xd9b230, 0x84 + .incbin "baserom.gba", 0xd9b230, 0x84 gMenuPokeblock_Gfx:: @ 8D9B2B4 .incbin "baserom.gba", 0xd9b2b4, 0x1bc gMenuPokeblock_Pal:: @ 8D9B470 .incbin "baserom.gba", 0xd9b470, 0x70 - + gMenuPokeblockDevice_Gfx:: @ 8D9B4E0 .incbin "baserom.gba", 0xd9b4e0, 0x2c0 - + gMenuPokeblockDevice_Pal:: @ 8D9B7A0 .incbin "baserom.gba", 0xd9b7a0, 0x28 gMenuPokeblock_Tilemap:: @ 8D9B7C8 .incbin "baserom.gba", 0xd9b7c8, 0x148 - + .align 2 gPokeblock_Gfx:: .incbin "graphics/pokeblock/pokeblock.4bpp.lz" @@ -1003,8 +1024,29 @@ gUnknown_08D9C13C:: @ 8D9C13C @ 8D9C3A8 .include "data/graphics/berries/berry_graphics.inc" -@ 8DA1E78 - .incbin "baserom.gba", 0xda1e78, 0x1548 +gUnknown_08DA1E78:: @ 8DA1E78 + .incbin "baserom.gba", 0xda1e78, 0xBE4 + +gUnknown_08DA2A5C:: @ 8DA2A5C + .incbin "baserom.gba", 0xDA2A5C, 0xCC + +gUnknown_08DA2B28:: @ 8DA2B28 + .incbin "baserom.gba", 0xDA2B28, 0x1F4 + +gUnknown_08DA2D1C:: @ 8DA2D1C + .incbin "baserom.gba", 0xDA2D1C, 0x534 + +gUnknown_08DA3250:: @ 8DA3250 + .incbin "baserom.gba", 0xDA3250, 0x54 + +gUnknown_08DA32A4:: @ 8DA32A4 + .incbin "baserom.gba", 0xDA32A4, 0xCC + +gUnknown_08DA3370:: @ 8DA3370 + .incbin "baserom.gba", 0xDA3370, 0x28 + +gUnknown_08DA3398:: @ 8DA3398 + .incbin "baserom.gba", 0xDA3398, 0x28 gUnknown_08DA33C0:: @ 8DA33C0 .incbin "baserom.gba", 0xda33c0, 0x428 @@ -1019,7 +1061,13 @@ gUnknown_08DA3988:: @ 8DA3988 .incbin "baserom.gba", 0xda3988, 0x100 gUnknown_08DA3A88:: @ 8DA3A88 - .incbin "baserom.gba", 0xda3a88, 0x20c + .incbin "baserom.gba", 0xda3a88, 0x138 + +gUnknown_08DA3BC0:: @ 8DA3BC0 + .incbin "baserom.gba", 0xDA3BC0, 0xBC + +gUnknown_08DA3C7C:: @ 8DA3C7C + .incbin "baserom.gba", 0xDA3C7C, 0x18 gUnknown_08DA3C94:: @ 8DA3C94 .incbin "baserom.gba", 0xda3c94, 0x1114 @@ -1034,7 +1082,13 @@ gUnknown_08DA4F70:: @ 8DA4F70 .incbin "baserom.gba", 0xda4f70, 0x1148 gUnknown_08DA60B8:: @ 8DA60B8 - .incbin "baserom.gba", 0xda60b8, 0x904 + .incbin "baserom.gba", 0xda60b8, 0x388 + +gUnknown_08DA6440:: @ 8DA6440 + .incbin "baserom.gba", 0xDA6440, 0x46C + +gUnknown_08DA68AC:: @ 8DA68AC + .incbin "baserom.gba", 0xDA68AC, 0x110 gUnknown_08DA69BC:: @ 8DA69BC .incbin "baserom.gba", 0xda69bc, 0xb6c @@ -1073,7 +1127,37 @@ gUnknown_08DA8D6C:: @ 8DA8D6C .incbin "baserom.gba", 0xda8d6c, 0x118 gUnknown_08DA8E84:: @ 8DA8E84 - .incbin "baserom.gba", 0xda8e84, 0x1a30 + .incbin "baserom.gba", 0xda8e84, 0x54 + +gUnknown_08DA8ED8:: @ 8DA8ED8 + .incbin "baserom.gba", 0xDA8ED8, 0x798 + +gUnknown_08DA9670:: @ 8DA9670 + .incbin "baserom.gba", 0xDA9670, 0x44 + +gUnknown_08DA96B4:: @ 8DA96B4 + .incbin "baserom.gba", 0xDA96B4, 0x248 + +gUnknown_08DA98FC:: @ 8DA98FC + .incbin "baserom.gba", 0xDA98FC, 0xCA8 + +gUnknown_08DAA5A4:: @ 8DAA5A4 + .incbin "baserom.gba", 0xDAA5A4, 0x1F0 + +gUnknown_08DAA794:: @ 8DAA794 + .incbin "baserom.gba", 0xDAA794, 0x98 + +gUnknown_08DAA82C:: @ 8DAA82C + .incbin "baserom.gba", 0xDAA82C, 0x28 + +gUnknown_08DAA854:: @ 8DAA854 + .incbin "baserom.gba", 0xDAA854, 0x28 + +gUnknown_08DAA87C:: @ 8DAA87C + .incbin "baserom.gba", 0xDAA87C, 0x28 + +gUnknown_08DAA8A4:: @ 8DAA8A4 + .incbin "baserom.gba", 0xDAA8A4, 0x10 gUnknown_08DAA8B4:: @ 8DAA8B4 .incbin "baserom.gba", 0xdaa8b4, 0x270 @@ -1100,7 +1184,7 @@ gUnknown_08DAAFEC:: @ 8DAAFEC .include "data/graphics/decorations/decoration_graphics.inc" @ 8DBA14C - .incbin "baserom.gba", 0xdba14c, 0x3cc + .incbin "baserom.gba", 0xdba14c, 0x3cc gUnknown_08DBA518:: @ 8DBA518 .incbin "baserom.gba", 0xdba518, 0x80 @@ -1268,10 +1352,25 @@ gUnknown_08DC0754:: @ 8DC0754 .incbin "baserom.gba", 0xdc0754, 0x440 gUnknown_08DC0B94:: @ 8DC0B94 - .incbin "baserom.gba", 0xdc0b94, 0xb62 + .incbin "baserom.gba", 0xdc0b94, 0x800 + +gUnknown_08DC1394:: @ 8DC1394 + .incbin "baserom.gba", 0xdc1394, 0x2E0 + +gUnknown_08DC1674:: @ 8DC1674 + .incbin "baserom.gba", 0xdc1674, 0x20 + +gUnknown_08DC1694:: @ 8DC1694 + .incbin "baserom.gba", 0xdc1694, 0x20 + +gUnknown_08DC16B4:: @ 8DC16B4 + .incbin "baserom.gba", 0xdc16b4, 0x20 + +gUnknown_08DC16D4:: @ 8DC16D4 + .incbin "baserom.gba", 0xdc16d4, 0x20 -gUnknown_08DC16F6:: @ 8DC16F6 - .incbin "baserom.gba", 0xdc16f6, 0x60 +gUnknown_08DC16F4:: @ 8DC16F4 + .incbin "baserom.gba", 0xdc16f4, 0x62 gUnknown_08DC1756:: @ 8DC1756 .incbin "baserom.gba", 0xdc1756, 0x60 @@ -1283,7 +1382,10 @@ gUnknown_08DC1876:: @ 8DC1876 .incbin "baserom.gba", 0xdc1876, 0xbe gUnknown_08DC1934:: @ 8DC1934 - .incbin "baserom.gba", 0xdc1934, 0x10d4 + .incbin "baserom.gba", 0xdc1934, 0xA18 + +gUnknown_08DC234C:: @ 8DC234C + .incbin "baserom.gba", 0xDC234C, 0x6BC gUnknown_08DC2A08:: @ 8DC2A08 .incbin "baserom.gba", 0xdc2a08, 0x114 @@ -1416,7 +1518,43 @@ gUnknown_08DC7D84:: @ 8DC7D84 .incbin "baserom.gba", 0xdc7d84, 0x17c gUnknown_08DC7F00:: @ 8DC7F00 - .incbin "baserom.gba", 0xdc7f00, 0x11c0 + .incbin "baserom.gba", 0xdc7f00, 0xA0 + +gUnknown_08DC7FA0:: @ 8DC7FA0 + .incbin "baserom.gba", 0xdc7fa0, 0x13C + +gUnknown_08DC80DC:: @ 8DC80DC + .incbin "baserom.gba", 0xdc80dc, 0x12C + +gUnknown_08DC8208:: @ 8DC8208 + .incbin "baserom.gba", 0xdc8208, 0x184 + +gUnknown_08DC838C:: @ 8DC838C + .incbin "baserom.gba", 0xdc838c, 0x120 + +gUnknown_08DC84AC:: @ 8DC84AC + .incbin "baserom.gba", 0xdc84ac, 0x1A0 + +gUnknown_08DC864C:: @ 8DC864C + .incbin "baserom.gba", 0xdc864c, 0x1AC + +gUnknown_08DC87F8:: @ 8DC87F8 + .incbin "baserom.gba", 0xdc87f8, 0x2AC + +gUnknown_08DC8AA4:: @ 8DC8AA4 + .incbin "baserom.gba", 0xdc8aa4, 0x170 + +gUnknown_08DC8C14:: @ 8DC8C14 + .incbin "baserom.gba", 0xdc8c14, 0x13C + +gUnknown_08DC8D50:: @ 8DC8D50 + .incbin "baserom.gba", 0xdc8d50, 0x114 + +gUnknown_08DC8E64:: @ 8DC8E64 + .incbin "baserom.gba", 0xdc8e64, 0x100 + +gUnknown_08DC8F64:: @ 8DC8F64 + .incbin "baserom.gba", 0xdc8f64, 0x15C gUnknown_08DC90C0:: @ 8DC90C0 .incbin "baserom.gba", 0xdc90c0, 0x20 @@ -1428,50 +1566,53 @@ gUnknown_08DC9130:: @ 8DC9130 .incbin "baserom.gba", 0xdc9130, 0xb8 gUnknown_08DC91E8:: @ 8DC91E8 - .incbin "baserom.gba", 0xdc91e8, 0x420 + .incbin "baserom.gba", 0xdc91e8, 0x20 + +gUnknown_08DC9208:: @ 8DC9208 + .incbin "baserom.gba", 0xdc9208, 0x400 gUnknown_08DC9608:: @ 8DC9608 .incbin "baserom.gba", 0xdc9608, 0x20 gUnknown_08DC9628:: @ 8DC9628 .incbin "baserom.gba", 0xdc9628, 0x320 - + gBerryBlenderMiscPalette:: @ 8DCAB88 .incbin "graphics/berry_blender/misc.gbapal" - + gBerryBlenderArrowPalette:: @ 8DC9948 .incbin "graphics/berry_blender/arrow.gbapal" gUnknown_8DC9988:: @ 8DC9988 - .incbin "baserom.gba", 0xdc9988, 0x200 - + .incbin "baserom.gba", 0xdc9988, 0x200 + .align 2 gBerryBlenderMarubatsuTiles:: @ 8DC9B88 .incbin "graphics/berry_blender/marubatsu.4bpp" - + .align 2 gBerryBlenderParticlesTiles:: @ 8E90818 .incbin "graphics/berry_blender/particles.4bpp" - + .space 0x120 .align 2 gBerryBlenderCountdownNumbersTiles:: @ 8DC9F88 .incbin "graphics/berry_blender/countdown_numbers.4bpp" - + .align 2 gBerryBlenderStartTiles:: @ 8DCA588 .incbin "graphics/berry_blender/start.4bpp" - - .space 0x200 - + + .space 0x200 + .align 2 gBerryBlenderArrowTiles:: @ 8DCAB88 .incbin "graphics/berry_blender/arrow.4bpp" gUnknown_08DCB388:: @ 8DCB388 .incbin "baserom.gba", 0xdcb388, 0xA28 - + gUnknown_08DCBDB0:: @ 8DCBDB0 .incbin "baserom.gba", 0xdcbdb0, 0x20 @@ -1494,10 +1635,19 @@ gUnknown_08DCC648:: @ 8DCC648 .incbin "baserom.gba", 0xdcc648, 0x2c0 gUnknown_08DCC908:: @ 8DCC908 - .incbin "baserom.gba", 0xdcc908, 0x2b0 + .incbin "baserom.gba", 0xdcc908, 0x290 + +gUnknown_08DCCB98:: @ 8DCCB98 + .incbin "baserom.gba", 0xdccb98, 0x20 gUnknown_08DCCBB8:: @ 8DCCBB8 - .incbin "baserom.gba", 0xdccbb8, 0x3a4 + .incbin "baserom.gba", 0xdccbb8, 0x184 + +gUnknown_08DCCD3C:: @ 8DCCD3C + .incbin "baserom.gba", 0xdccd3c, 0x20 + +gUnknown_08DCCD5C:: @ 8DCCD5C + .incbin "baserom.gba", 0xdccd5c, 0x200 gUnknown_08DCCF5C:: @ 8DCCF5C .incbin "baserom.gba", 0xdccf5c, 0x20 @@ -1524,22 +1674,28 @@ gUnknown_08DCEC70:: @ 8DCEC70 .incbin "baserom.gba", 0xdcec70, 0x13e0 gUnknown_08DD0050:: @ 8DD0050 - .incbin "baserom.gba", 0xdd0050, 0x1a68 + .incbin "baserom.gba", 0xdd0050, 0x1A08 + +gUnknown_08DD1A58:: @ 8DD1A58 + .incbin "baserom.gba", 0xdd1a58, 0x60 gUnknown_08DD1AB8:: @ 8DD1AB8 - .incbin "baserom.gba", 0xdd1ab8, 0x4c0 + .incbin "baserom.gba", 0xdd1ab8, 0x4C0 gUnknown_08DD1F78:: @ 8DD1F78 - .incbin "baserom.gba", 0xdd1f78, 0x98 + .incbin "baserom.gba", 0xdd1f78, 0x98 gUnknown_08DD2010:: @ 8DD2010 - .incbin "baserom.gba", 0xdd2010, 0x1a0 + .incbin "baserom.gba", 0xdd2010, 0x1A0 gUnknown_08DD21B0:: @ 8DD21B0 - .incbin "baserom.gba", 0xdd21b0, 0xdc + .incbin "baserom.gba", 0xdd21b0, 0xDC gUnknown_08DD228C:: @ 8DD228C - .incbin "baserom.gba", 0xdd228c, 0x1e0 + .incbin "baserom.gba", 0xdd228c, 0x180 + +gUnknown_08DD240C:: @ 8DD240C + .incbin "baserom.gba", 0xdd240c, 0x60 gUnknown_08DD246C:: @ 8DD246C .incbin "baserom.gba", 0xdd246c, 0x674 @@ -1582,7 +1738,7 @@ gUnknown_08DD46E0:: @ 8DD46E0 gUnknown_08DD47A0:: @ 8DD47A0 .incbin "baserom.gba", 0xdd47a0, 0xc0 - + gUnknown_08DD4860:: @ 8DD4860 .incbin "baserom.gba", 0xdd4860, 0x20 @@ -1604,7 +1760,7 @@ gUnknown_08DD4BF0:: @ 8DD4BF0 gUnknown_08DD4C4C:: @ 8DD4C4C .incbin "baserom.gba", 0xdd4c4c, 0xac - .align 2 + .align 2 gUnknown_08DD4CF8:: @ 8DD4CF8 .incbin "graphics/interface/unk_change_case.4bpp.lz" @@ -1638,61 +1794,61 @@ gUnknown_08DD7300:: @ 8DD7300 .incbin "baserom.gba", 0xdd7300, 0x60 gUnknown_08DD7360:: @ 8DD7360 - .incbin "baserom.gba", 0xdd7360, 0x1420 + .incbin "baserom.gba", 0xdd7360, 0x1420 gUnknown_08DD8780:: @ 8DD8780 - .incbin "baserom.gba", 0xdd8780, 0x40 + .incbin "baserom.gba", 0xdd8780, 0x40 gUnknown_08DD87C0:: @ 8DD87C0 - .incbin "baserom.gba", 0xdd87c0, 0x720 + .incbin "baserom.gba", 0xdd87c0, 0x720 gUnknown_08DD8EE0:: @ 8DD8EE0 - .incbin "baserom.gba", 0xdd8ee0, 0x1a0 + .incbin "baserom.gba", 0xdd8ee0, 0x1a0 gUnknown_08DD9080:: @ 8DD9080 - .incbin "baserom.gba", 0xdd9080, 0x60 + .incbin "baserom.gba", 0xdd9080, 0x60 gUnknown_08DD90E0:: @ 8DD90E0 - .incbin "baserom.gba", 0xdd90e0, 0x638 + .incbin "baserom.gba", 0xdd90e0, 0x638 gUnknown_08DD9718:: @ 8DD9718 - .incbin "baserom.gba", 0xdd9718, 0x15c + .incbin "baserom.gba", 0xdd9718, 0x15c gUnknown_08DD9874:: @ 8DD9874 - .incbin "baserom.gba", 0xdd9874, 0x40 + .incbin "baserom.gba", 0xdd9874, 0x40 gUnknown_08DD98B4:: @ 8DD98B4 - .incbin "baserom.gba", 0xdd98b4, 0x5a4 + .incbin "baserom.gba", 0xdd98b4, 0x5a4 gUnknown_08DD9E58:: @ 8DD9E58 - .incbin "baserom.gba", 0xdd9e58, 0x194 + .incbin "baserom.gba", 0xdd9e58, 0x194 gUnknown_08DD9FEC:: @ 8DD9FEC - .incbin "baserom.gba", 0xdd9fec, 0x40 + .incbin "baserom.gba", 0xdd9fec, 0x40 gUnknown_08DDA02C:: @ 8DDA02C - .incbin "baserom.gba", 0xdda02c, 0x610 + .incbin "baserom.gba", 0xdda02c, 0x610 gUnknown_08DDA63C:: @ 8DDA63C - .incbin "baserom.gba", 0xdda63c, 0x1c4 + .incbin "baserom.gba", 0xdda63c, 0x1c4 gUnknown_08DDA800:: @ 8DDA800 - .incbin "baserom.gba", 0xdda800, 0x40 + .incbin "baserom.gba", 0xdda800, 0x40 gUnknown_08DDA840:: @ 8DDA840 - .incbin "baserom.gba", 0xdda840, 0x600 + .incbin "baserom.gba", 0xdda840, 0x600 gUnknown_08DDAE40:: @ 8DDAE40 - .incbin "baserom.gba", 0xddae40, 0x1a0 + .incbin "baserom.gba", 0xddae40, 0x1a0 gUnknown_08DDAFE0:: @ 8DDAFE0 - .incbin "baserom.gba", 0xddafe0, 0x40 + .incbin "baserom.gba", 0xddafe0, 0x40 gUnknown_08DDB020:: @ 8DDB020 - .incbin "baserom.gba", 0xddb020, 0x2a4 + .incbin "baserom.gba", 0xddb020, 0x2a4 gUnknown_08DDB2C4:: @ 8DDB2C4 - .incbin "baserom.gba", 0xddb2c4, 0x120 + .incbin "baserom.gba", 0xddb2c4, 0x120 gUnknown_08DDB3E4:: @ 8DDB3E4 .incbin "baserom.gba", 0xddb3e4, 0x80 diff --git a/data/graphics/pokemon/icon_palette_indices.inc b/data/graphics/pokemon/icon_palette_indices.inc deleted file mode 100644 index f1d57466c..000000000 --- a/data/graphics/pokemon/icon_palette_indices.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonIconPaletteIndices:: @ 857C388 - .byte 0 @ ?????????? - .byte 1 @ Bulbasaur - .byte 1 @ Ivysaur - .byte 1 @ Venusaur - .byte 0 @ Charmander - .byte 0 @ Charmeleon - .byte 0 @ Charizard - .byte 0 @ Squirtle - .byte 2 @ Wartortle - .byte 2 @ Blastoise - .byte 1 @ Caterpie - .byte 1 @ Metapod - .byte 0 @ Butterfree - .byte 1 @ Weedle - .byte 2 @ Kakuna - .byte 2 @ Beedrill - .byte 0 @ Pidgey - .byte 0 @ Pidgeotto - .byte 0 @ Pidgeot - .byte 2 @ Rattata - .byte 1 @ Raticate - .byte 0 @ Spearow - .byte 0 @ Fearow - .byte 2 @ Ekans - .byte 2 @ Arbok - .byte 2 @ Pikachu - .byte 0 @ Raichu - .byte 2 @ Sandshrew - .byte 2 @ Sandslash - .byte 2 @ Nidoran♀ - .byte 2 @ Nidorina - .byte 2 @ Nidoqueen - .byte 2 @ Nidoran♂ - .byte 2 @ Nidorino - .byte 2 @ Nidoking - .byte 0 @ Clefairy - .byte 0 @ Clefable - .byte 2 @ Vulpix - .byte 1 @ Ninetales - .byte 0 @ Jigglypuff - .byte 0 @ Wigglytuff - .byte 2 @ Zubat - .byte 2 @ Golbat - .byte 1 @ Oddish - .byte 0 @ Gloom - .byte 0 @ Vileplume - .byte 0 @ Paras - .byte 0 @ Parasect - .byte 0 @ Venonat - .byte 2 @ Venomoth - .byte 2 @ Diglett - .byte 2 @ Dugtrio - .byte 1 @ Meowth - .byte 1 @ Persian - .byte 1 @ Psyduck - .byte 2 @ Golduck - .byte 1 @ Mankey - .byte 2 @ Primeape - .byte 0 @ Growlithe - .byte 0 @ Arcanine - .byte 0 @ Poliwag - .byte 0 @ Poliwhirl - .byte 0 @ Poliwrath - .byte 2 @ Abra - .byte 2 @ Kadabra - .byte 2 @ Alakazam - .byte 0 @ Machop - .byte 2 @ Machoke - .byte 0 @ Machamp - .byte 1 @ Bellsprout - .byte 1 @ Weepinbell - .byte 1 @ Victreebel - .byte 2 @ Tentacool - .byte 2 @ Tentacruel - .byte 1 @ Geodude - .byte 1 @ Graveler - .byte 1 @ Golem - .byte 0 @ Ponyta - .byte 0 @ Rapidash - .byte 0 @ Slowpoke - .byte 0 @ Slowbro - .byte 0 @ Magnemite - .byte 0 @ Magneton - .byte 1 @ Farfetch'd - .byte 2 @ Doduo - .byte 2 @ Dodrio - .byte 2 @ Seel - .byte 2 @ Dewgong - .byte 2 @ Grimer - .byte 2 @ Muk - .byte 2 @ Shellder - .byte 2 @ Cloyster - .byte 2 @ Gastly - .byte 2 @ Haunter - .byte 2 @ Gengar - .byte 2 @ Onix - .byte 2 @ Drowzee - .byte 1 @ Hypno - .byte 2 @ Krabby - .byte 2 @ Kingler - .byte 0 @ Voltorb - .byte 0 @ Electrode - .byte 0 @ Exeggcute - .byte 1 @ Exeggutor - .byte 1 @ Cubone - .byte 1 @ Marowak - .byte 2 @ Hitmonlee - .byte 2 @ Hitmonchan - .byte 1 @ Lickitung - .byte 2 @ Koffing - .byte 2 @ Weezing - .byte 1 @ Rhyhorn - .byte 1 @ Rhydon - .byte 0 @ Chansey - .byte 0 @ Tangela - .byte 1 @ Kangaskhan - .byte 0 @ Horsea - .byte 0 @ Seadra - .byte 0 @ Goldeen - .byte 0 @ Seaking - .byte 2 @ Staryu - .byte 2 @ Starmie - .byte 0 @ Mr. mime - .byte 1 @ Scyther - .byte 2 @ Jynx - .byte 1 @ Electabuzz - .byte 0 @ Magmar - .byte 2 @ Pinsir - .byte 2 @ Tauros - .byte 0 @ Magikarp - .byte 0 @ Gyarados - .byte 2 @ Lapras - .byte 2 @ Ditto - .byte 2 @ Eevee - .byte 0 @ Vaporeon - .byte 0 @ Jolteon - .byte 0 @ Flareon - .byte 0 @ Porygon - .byte 0 @ Omanyte - .byte 0 @ Omastar - .byte 2 @ Kabuto - .byte 2 @ Kabutops - .byte 0 @ Aerodactyl - .byte 1 @ Snorlax - .byte 0 @ Articuno - .byte 0 @ Zapdos - .byte 0 @ Moltres - .byte 0 @ Dratini - .byte 0 @ Dragonair - .byte 2 @ Dragonite - .byte 2 @ Mewtwo - .byte 0 @ Mew - .byte 1 @ Chikorita - .byte 1 @ Bayleef - .byte 1 @ Meganium - .byte 1 @ Cyndaquil - .byte 1 @ Quilava - .byte 1 @ Typhlosion - .byte 2 @ Totodile - .byte 2 @ Croconaw - .byte 2 @ Feraligatr - .byte 2 @ Sentret - .byte 2 @ Furret - .byte 2 @ Hoothoot - .byte 2 @ Noctowl - .byte 0 @ Ledyba - .byte 0 @ Ledian - .byte 1 @ Spinarak - .byte 0 @ Ariados - .byte 2 @ Crobat - .byte 2 @ Chinchou - .byte 0 @ Lanturn - .byte 0 @ Pichu - .byte 0 @ Cleffa - .byte 1 @ Igglybuff - .byte 2 @ Togepi - .byte 2 @ Togetic - .byte 0 @ Natu - .byte 0 @ Xatu - .byte 2 @ Mareep - .byte 0 @ Flaaffy - .byte 0 @ Ampharos - .byte 1 @ Bellossom - .byte 2 @ Marill - .byte 2 @ Azumarill - .byte 1 @ Sudowoodo - .byte 1 @ Politoed - .byte 1 @ Hoppip - .byte 1 @ Skiploom - .byte 2 @ Jumpluff - .byte 2 @ Aipom - .byte 1 @ Sunkern - .byte 1 @ Sunflora - .byte 1 @ Yanma - .byte 0 @ Wooper - .byte 0 @ Quagsire - .byte 2 @ Espeon - .byte 2 @ Umbreon - .byte 2 @ Murkrow - .byte 0 @ Slowking - .byte 0 @ Misdreavus - .byte 0 @ Unown A - .byte 0 @ Wobbuffet - .byte 1 @ Girafarig - .byte 0 @ Pineco - .byte 2 @ Forretress - .byte 2 @ Dunsparce - .byte 2 @ Gligar - .byte 0 @ Steelix - .byte 0 @ Snubbull - .byte 2 @ Granbull - .byte 0 @ Qwilfish - .byte 0 @ Scizor - .byte 1 @ Shuckle - .byte 2 @ Heracross - .byte 0 @ Sneasel - .byte 0 @ Teddiursa - .byte 2 @ Ursaring - .byte 0 @ Slugma - .byte 0 @ Magcargo - .byte 2 @ Swinub - .byte 2 @ Piloswine - .byte 0 @ Corsola - .byte 0 @ Remoraid - .byte 0 @ Octillery - .byte 0 @ Delibird - .byte 2 @ Mantine - .byte 0 @ Skarmory - .byte 0 @ Houndour - .byte 0 @ Houndoom - .byte 0 @ Kingdra - .byte 0 @ Phanpy - .byte 0 @ Donphan - .byte 0 @ Porygon2 - .byte 2 @ Stantler - .byte 1 @ Smeargle - .byte 2 @ Tyrogue - .byte 2 @ Hitmontop - .byte 1 @ Smoochum - .byte 1 @ Elekid - .byte 1 @ Magby - .byte 1 @ Miltank - .byte 1 @ Blissey - .byte 0 @ Raikou - .byte 2 @ Entei - .byte 0 @ Suicune - .byte 1 @ Larvitar - .byte 0 @ Pupitar - .byte 1 @ Tyranitar - .byte 0 @ Lugia - .byte 1 @ Ho-Oh - .byte 1 @ Celebi - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 0 @ ? - .byte 1 @ Treecko - .byte 0 @ Grovyle - .byte 1 @ Sceptile - .byte 0 @ Torchic - .byte 0 @ Combusken - .byte 0 @ Blaziken - .byte 0 @ Mudkip - .byte 0 @ Marshtomp - .byte 0 @ Swampert - .byte 2 @ Poochyena - .byte 2 @ Mightyena - .byte 2 @ Zigzagoon - .byte 2 @ Linoone - .byte 0 @ Wurmple - .byte 2 @ Silcoon - .byte 0 @ Beautifly - .byte 2 @ Cascoon - .byte 1 @ Dustox - .byte 1 @ Lotad - .byte 1 @ Lombre - .byte 1 @ Ludicolo - .byte 1 @ Seedot - .byte 1 @ Nuzleaf - .byte 0 @ Shiftry - .byte 1 @ Nincada - .byte 1 @ Ninjask - .byte 1 @ Shedinja - .byte 2 @ Taillow - .byte 2 @ Swellow - .byte 1 @ Shroomish - .byte 1 @ Breloom - .byte 1 @ Spinda - .byte 0 @ Wingull - .byte 0 @ Pelipper - .byte 2 @ Surskit - .byte 0 @ Masquerain - .byte 2 @ Wailmer - .byte 0 @ Wailord - .byte 0 @ Skitty - .byte 2 @ Delcatty - .byte 1 @ Kecleon - .byte 1 @ Baltoy - .byte 0 @ Claydol - .byte 0 @ Nosepass - .byte 1 @ Torkoal - .byte 2 @ Sableye - .byte 0 @ Barboach - .byte 0 @ Whiscash - .byte 0 @ Luvdisc - .byte 0 @ Corphish - .byte 0 @ Crawdaunt - .byte 2 @ Feebas - .byte 0 @ Milotic - .byte 0 @ Carvanha - .byte 0 @ Sharpedo - .byte 1 @ Trapinch - .byte 1 @ Vibrava - .byte 1 @ Flygon - .byte 2 @ Makuhita - .byte 1 @ Hariyama - .byte 1 @ Electrike - .byte 0 @ Manectric - .byte 1 @ Numel - .byte 0 @ Camerupt - .byte 2 @ Spheal - .byte 2 @ Sealeo - .byte 0 @ Walrein - .byte 1 @ Cacnea - .byte 1 @ Cacturne - .byte 2 @ Snorunt - .byte 0 @ Glalie - .byte 1 @ Lunatone - .byte 0 @ Solrock - .byte 2 @ Azurill - .byte 0 @ Spoink - .byte 2 @ Grumpig - .byte 0 @ Plusle - .byte 0 @ Minun - .byte 2 @ Mawile - .byte 0 @ Meditite - .byte 0 @ Medicham - .byte 0 @ Swablu - .byte 0 @ Altaria - .byte 0 @ Wynaut - .byte 0 @ Duskull - .byte 0 @ Dusclops - .byte 0 @ Roselia - .byte 2 @ Slakoth - .byte 2 @ Vigoroth - .byte 1 @ Slaking - .byte 1 @ Gulpin - .byte 2 @ Swalot - .byte 1 @ Tropius - .byte 0 @ Whismur - .byte 2 @ Loudred - .byte 2 @ Exploud - .byte 0 @ Clamperl - .byte 0 @ Huntail - .byte 0 @ Gorebyss - .byte 0 @ Absol - .byte 0 @ Shuppet - .byte 0 @ Banette - .byte 2 @ Seviper - .byte 0 @ Zangoose - .byte 1 @ Relicanth - .byte 2 @ Aron - .byte 2 @ Lairon - .byte 2 @ Aggron - .byte 0 @ Castform - .byte 0 @ Volbeat - .byte 2 @ Illumise - .byte 2 @ Lileep - .byte 0 @ Cradily - .byte 0 @ Anorith - .byte 0 @ Armaldo - .byte 1 @ Ralts - .byte 1 @ Kirlia - .byte 1 @ Gardevoir - .byte 2 @ Bagon - .byte 2 @ Shelgon - .byte 0 @ Salamence - .byte 0 @ Beldum - .byte 0 @ Metang - .byte 0 @ Metagross - .byte 2 @ Regirock - .byte 2 @ Regice - .byte 2 @ Registeel - .byte 2 @ Kyogre - .byte 0 @ Groudon - .byte 1 @ Rayquaza - .byte 0 @ Latias - .byte 2 @ Latios - .byte 0 @ Jirachi - .byte 0 @ Deoxys - .byte 0 @ Chimecho - .byte 1 @ Egg - .byte 0 @ Unown B - .byte 0 @ Unown C - .byte 0 @ Unown D - .byte 0 @ Unown E - .byte 0 @ Unown F - .byte 0 @ Unown G - .byte 0 @ Unown H - .byte 0 @ Unown I - .byte 0 @ Unown J - .byte 0 @ Unown K - .byte 0 @ Unown L - .byte 0 @ Unown M - .byte 0 @ Unown N - .byte 0 @ Unown O - .byte 0 @ Unown P - .byte 0 @ Unown Q - .byte 0 @ Unown R - .byte 0 @ Unown S - .byte 0 @ Unown T - .byte 0 @ Unown U - .byte 0 @ Unown V - .byte 0 @ Unown W - .byte 0 @ Unown X - .byte 0 @ Unown Y - .byte 0 @ Unown Z - .byte 0 @ Unown Exclamation Mark - .byte 0 @ Unown Question Mark diff --git a/data/graphics/pokemon/icon_palette_table.inc b/data/graphics/pokemon/icon_palette_table.inc deleted file mode 100644 index eb7919423..000000000 --- a/data/graphics/pokemon/icon_palette_table.inc +++ /dev/null @@ -1,11 +0,0 @@ - .align 2 -gMonIconPaletteTable:: @ 857C540 - obj_pal gMonIconPalettes + 0 * 32, 56000 - obj_pal gMonIconPalettes + 1 * 32, 56001 - obj_pal gMonIconPalettes + 2 * 32, 56002 - -@ These palettes are actually part of the title screen BG palette and are not -@ used for Pokémon icons. - obj_pal gMonIconPalettes + 3 * 32, 56003 - obj_pal gMonIconPalettes + 4 * 32, 56004 - obj_pal gMonIconPalettes + 5 * 32, 56005 diff --git a/data/graphics/pokemon/icon_table.inc b/data/graphics/pokemon/icon_table.inc deleted file mode 100644 index 06a86de43..000000000 --- a/data/graphics/pokemon/icon_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonIconTable:: @ 857BCA8 - .4byte gMonIcon_Bulbasaur - .4byte gMonIcon_Bulbasaur - .4byte gMonIcon_Ivysaur - .4byte gMonIcon_Venusaur - .4byte gMonIcon_Charmander - .4byte gMonIcon_Charmeleon - .4byte gMonIcon_Charizard - .4byte gMonIcon_Squirtle - .4byte gMonIcon_Wartortle - .4byte gMonIcon_Blastoise - .4byte gMonIcon_Caterpie - .4byte gMonIcon_Metapod - .4byte gMonIcon_Butterfree - .4byte gMonIcon_Weedle - .4byte gMonIcon_Kakuna - .4byte gMonIcon_Beedrill - .4byte gMonIcon_Pidgey - .4byte gMonIcon_Pidgeotto - .4byte gMonIcon_Pidgeot - .4byte gMonIcon_Rattata - .4byte gMonIcon_Raticate - .4byte gMonIcon_Spearow - .4byte gMonIcon_Fearow - .4byte gMonIcon_Ekans - .4byte gMonIcon_Arbok - .4byte gMonIcon_Pikachu - .4byte gMonIcon_Raichu - .4byte gMonIcon_Sandshrew - .4byte gMonIcon_Sandslash - .4byte gMonIcon_NidoranF - .4byte gMonIcon_Nidorina - .4byte gMonIcon_Nidoqueen - .4byte gMonIcon_NidoranM - .4byte gMonIcon_Nidorino - .4byte gMonIcon_Nidoking - .4byte gMonIcon_Clefairy - .4byte gMonIcon_Clefable - .4byte gMonIcon_Vulpix - .4byte gMonIcon_Ninetales - .4byte gMonIcon_Jigglypuff - .4byte gMonIcon_Wigglytuff - .4byte gMonIcon_Zubat - .4byte gMonIcon_Golbat - .4byte gMonIcon_Oddish - .4byte gMonIcon_Gloom - .4byte gMonIcon_Vileplume - .4byte gMonIcon_Paras - .4byte gMonIcon_Parasect - .4byte gMonIcon_Venonat - .4byte gMonIcon_Venomoth - .4byte gMonIcon_Diglett - .4byte gMonIcon_Dugtrio - .4byte gMonIcon_Meowth - .4byte gMonIcon_Persian - .4byte gMonIcon_Psyduck - .4byte gMonIcon_Golduck - .4byte gMonIcon_Mankey - .4byte gMonIcon_Primeape - .4byte gMonIcon_Growlithe - .4byte gMonIcon_Arcanine - .4byte gMonIcon_Poliwag - .4byte gMonIcon_Poliwhirl - .4byte gMonIcon_Poliwrath - .4byte gMonIcon_Abra - .4byte gMonIcon_Kadabra - .4byte gMonIcon_Alakazam - .4byte gMonIcon_Machop - .4byte gMonIcon_Machoke - .4byte gMonIcon_Machamp - .4byte gMonIcon_Bellsprout - .4byte gMonIcon_Weepinbell - .4byte gMonIcon_Victreebel - .4byte gMonIcon_Tentacool - .4byte gMonIcon_Tentacruel - .4byte gMonIcon_Geodude - .4byte gMonIcon_Graveler - .4byte gMonIcon_Golem - .4byte gMonIcon_Ponyta - .4byte gMonIcon_Rapidash - .4byte gMonIcon_Slowpoke - .4byte gMonIcon_Slowbro - .4byte gMonIcon_Magnemite - .4byte gMonIcon_Magneton - .4byte gMonIcon_Farfetchd - .4byte gMonIcon_Doduo - .4byte gMonIcon_Dodrio - .4byte gMonIcon_Seel - .4byte gMonIcon_Dewgong - .4byte gMonIcon_Grimer - .4byte gMonIcon_Muk - .4byte gMonIcon_Shellder - .4byte gMonIcon_Cloyster - .4byte gMonIcon_Gastly - .4byte gMonIcon_Haunter - .4byte gMonIcon_Gengar - .4byte gMonIcon_Onix - .4byte gMonIcon_Drowzee - .4byte gMonIcon_Hypno - .4byte gMonIcon_Krabby - .4byte gMonIcon_Kingler - .4byte gMonIcon_Voltorb - .4byte gMonIcon_Electrode - .4byte gMonIcon_Exeggcute - .4byte gMonIcon_Exeggutor - .4byte gMonIcon_Cubone - .4byte gMonIcon_Marowak - .4byte gMonIcon_Hitmonlee - .4byte gMonIcon_Hitmonchan - .4byte gMonIcon_Lickitung - .4byte gMonIcon_Koffing - .4byte gMonIcon_Weezing - .4byte gMonIcon_Rhyhorn - .4byte gMonIcon_Rhydon - .4byte gMonIcon_Chansey - .4byte gMonIcon_Tangela - .4byte gMonIcon_Kangaskhan - .4byte gMonIcon_Horsea - .4byte gMonIcon_Seadra - .4byte gMonIcon_Goldeen - .4byte gMonIcon_Seaking - .4byte gMonIcon_Staryu - .4byte gMonIcon_Starmie - .4byte gMonIcon_Mrmime - .4byte gMonIcon_Scyther - .4byte gMonIcon_Jynx - .4byte gMonIcon_Electabuzz - .4byte gMonIcon_Magmar - .4byte gMonIcon_Pinsir - .4byte gMonIcon_Tauros - .4byte gMonIcon_Magikarp - .4byte gMonIcon_Gyarados - .4byte gMonIcon_Lapras - .4byte gMonIcon_Ditto - .4byte gMonIcon_Eevee - .4byte gMonIcon_Vaporeon - .4byte gMonIcon_Jolteon - .4byte gMonIcon_Flareon - .4byte gMonIcon_Porygon - .4byte gMonIcon_Omanyte - .4byte gMonIcon_Omastar - .4byte gMonIcon_Kabuto - .4byte gMonIcon_Kabutops - .4byte gMonIcon_Aerodactyl - .4byte gMonIcon_Snorlax - .4byte gMonIcon_Articuno - .4byte gMonIcon_Zapdos - .4byte gMonIcon_Moltres - .4byte gMonIcon_Dratini - .4byte gMonIcon_Dragonair - .4byte gMonIcon_Dragonite - .4byte gMonIcon_Mewtwo - .4byte gMonIcon_Mew - .4byte gMonIcon_Chikorita - .4byte gMonIcon_Bayleef - .4byte gMonIcon_Meganium - .4byte gMonIcon_Cyndaquil - .4byte gMonIcon_Quilava - .4byte gMonIcon_Typhlosion - .4byte gMonIcon_Totodile - .4byte gMonIcon_Croconaw - .4byte gMonIcon_Feraligatr - .4byte gMonIcon_Sentret - .4byte gMonIcon_Furret - .4byte gMonIcon_Hoothoot - .4byte gMonIcon_Noctowl - .4byte gMonIcon_Ledyba - .4byte gMonIcon_Ledian - .4byte gMonIcon_Spinarak - .4byte gMonIcon_Ariados - .4byte gMonIcon_Crobat - .4byte gMonIcon_Chinchou - .4byte gMonIcon_Lanturn - .4byte gMonIcon_Pichu - .4byte gMonIcon_Cleffa - .4byte gMonIcon_Igglybuff - .4byte gMonIcon_Togepi - .4byte gMonIcon_Togetic - .4byte gMonIcon_Natu - .4byte gMonIcon_Xatu - .4byte gMonIcon_Mareep - .4byte gMonIcon_Flaaffy - .4byte gMonIcon_Ampharos - .4byte gMonIcon_Bellossom - .4byte gMonIcon_Marill - .4byte gMonIcon_Azumarill - .4byte gMonIcon_Sudowoodo - .4byte gMonIcon_Politoed - .4byte gMonIcon_Hoppip - .4byte gMonIcon_Skiploom - .4byte gMonIcon_Jumpluff - .4byte gMonIcon_Aipom - .4byte gMonIcon_Sunkern - .4byte gMonIcon_Sunflora - .4byte gMonIcon_Yanma - .4byte gMonIcon_Wooper - .4byte gMonIcon_Quagsire - .4byte gMonIcon_Espeon - .4byte gMonIcon_Umbreon - .4byte gMonIcon_Murkrow - .4byte gMonIcon_Slowking - .4byte gMonIcon_Misdreavus - .4byte gMonIcon_UnownA - .4byte gMonIcon_Wobbuffet - .4byte gMonIcon_Girafarig - .4byte gMonIcon_Pineco - .4byte gMonIcon_Forretress - .4byte gMonIcon_Dunsparce - .4byte gMonIcon_Gligar - .4byte gMonIcon_Steelix - .4byte gMonIcon_Snubbull - .4byte gMonIcon_Granbull - .4byte gMonIcon_Qwilfish - .4byte gMonIcon_Scizor - .4byte gMonIcon_Shuckle - .4byte gMonIcon_Heracross - .4byte gMonIcon_Sneasel - .4byte gMonIcon_Teddiursa - .4byte gMonIcon_Ursaring - .4byte gMonIcon_Slugma - .4byte gMonIcon_Magcargo - .4byte gMonIcon_Swinub - .4byte gMonIcon_Piloswine - .4byte gMonIcon_Corsola - .4byte gMonIcon_Remoraid - .4byte gMonIcon_Octillery - .4byte gMonIcon_Delibird - .4byte gMonIcon_Mantine - .4byte gMonIcon_Skarmory - .4byte gMonIcon_Houndour - .4byte gMonIcon_Houndoom - .4byte gMonIcon_Kingdra - .4byte gMonIcon_Phanpy - .4byte gMonIcon_Donphan - .4byte gMonIcon_Porygon2 - .4byte gMonIcon_Stantler - .4byte gMonIcon_Smeargle - .4byte gMonIcon_Tyrogue - .4byte gMonIcon_Hitmontop - .4byte gMonIcon_Smoochum - .4byte gMonIcon_Elekid - .4byte gMonIcon_Magby - .4byte gMonIcon_Miltank - .4byte gMonIcon_Blissey - .4byte gMonIcon_Raikou - .4byte gMonIcon_Entei - .4byte gMonIcon_Suicune - .4byte gMonIcon_Larvitar - .4byte gMonIcon_Pupitar - .4byte gMonIcon_Tyranitar - .4byte gMonIcon_Lugia - .4byte gMonIcon_HoOh - .4byte gMonIcon_Celebi - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_QuestionMark - .4byte gMonIcon_Treecko - .4byte gMonIcon_Grovyle - .4byte gMonIcon_Sceptile - .4byte gMonIcon_Torchic - .4byte gMonIcon_Combusken - .4byte gMonIcon_Blaziken - .4byte gMonIcon_Mudkip - .4byte gMonIcon_Marshtomp - .4byte gMonIcon_Swampert - .4byte gMonIcon_Poochyena - .4byte gMonIcon_Mightyena - .4byte gMonIcon_Zigzagoon - .4byte gMonIcon_Linoone - .4byte gMonIcon_Wurmple - .4byte gMonIcon_Silcoon - .4byte gMonIcon_Beautifly - .4byte gMonIcon_Cascoon - .4byte gMonIcon_Dustox - .4byte gMonIcon_Lotad - .4byte gMonIcon_Lombre - .4byte gMonIcon_Ludicolo - .4byte gMonIcon_Seedot - .4byte gMonIcon_Nuzleaf - .4byte gMonIcon_Shiftry - .4byte gMonIcon_Nincada - .4byte gMonIcon_Ninjask - .4byte gMonIcon_Shedinja - .4byte gMonIcon_Taillow - .4byte gMonIcon_Swellow - .4byte gMonIcon_Shroomish - .4byte gMonIcon_Breloom - .4byte gMonIcon_Spinda - .4byte gMonIcon_Wingull - .4byte gMonIcon_Pelipper - .4byte gMonIcon_Surskit - .4byte gMonIcon_Masquerain - .4byte gMonIcon_Wailmer - .4byte gMonIcon_Wailord - .4byte gMonIcon_Skitty - .4byte gMonIcon_Delcatty - .4byte gMonIcon_Kecleon - .4byte gMonIcon_Baltoy - .4byte gMonIcon_Claydol - .4byte gMonIcon_Nosepass - .4byte gMonIcon_Torkoal - .4byte gMonIcon_Sableye - .4byte gMonIcon_Barboach - .4byte gMonIcon_Whiscash - .4byte gMonIcon_Luvdisc - .4byte gMonIcon_Corphish - .4byte gMonIcon_Crawdaunt - .4byte gMonIcon_Feebas - .4byte gMonIcon_Milotic - .4byte gMonIcon_Carvanha - .4byte gMonIcon_Sharpedo - .4byte gMonIcon_Trapinch - .4byte gMonIcon_Vibrava - .4byte gMonIcon_Flygon - .4byte gMonIcon_Makuhita - .4byte gMonIcon_Hariyama - .4byte gMonIcon_Electrike - .4byte gMonIcon_Manectric - .4byte gMonIcon_Numel - .4byte gMonIcon_Camerupt - .4byte gMonIcon_Spheal - .4byte gMonIcon_Sealeo - .4byte gMonIcon_Walrein - .4byte gMonIcon_Cacnea - .4byte gMonIcon_Cacturne - .4byte gMonIcon_Snorunt - .4byte gMonIcon_Glalie - .4byte gMonIcon_Lunatone - .4byte gMonIcon_Solrock - .4byte gMonIcon_Azurill - .4byte gMonIcon_Spoink - .4byte gMonIcon_Grumpig - .4byte gMonIcon_Plusle - .4byte gMonIcon_Minun - .4byte gMonIcon_Mawile - .4byte gMonIcon_Meditite - .4byte gMonIcon_Medicham - .4byte gMonIcon_Swablu - .4byte gMonIcon_Altaria - .4byte gMonIcon_Wynaut - .4byte gMonIcon_Duskull - .4byte gMonIcon_Dusclops - .4byte gMonIcon_Roselia - .4byte gMonIcon_Slakoth - .4byte gMonIcon_Vigoroth - .4byte gMonIcon_Slaking - .4byte gMonIcon_Gulpin - .4byte gMonIcon_Swalot - .4byte gMonIcon_Tropius - .4byte gMonIcon_Whismur - .4byte gMonIcon_Loudred - .4byte gMonIcon_Exploud - .4byte gMonIcon_Clamperl - .4byte gMonIcon_Huntail - .4byte gMonIcon_Gorebyss - .4byte gMonIcon_Absol - .4byte gMonIcon_Shuppet - .4byte gMonIcon_Banette - .4byte gMonIcon_Seviper - .4byte gMonIcon_Zangoose - .4byte gMonIcon_Relicanth - .4byte gMonIcon_Aron - .4byte gMonIcon_Lairon - .4byte gMonIcon_Aggron - .4byte gMonIcon_Castform - .4byte gMonIcon_Volbeat - .4byte gMonIcon_Illumise - .4byte gMonIcon_Lileep - .4byte gMonIcon_Cradily - .4byte gMonIcon_Anorith - .4byte gMonIcon_Armaldo - .4byte gMonIcon_Ralts - .4byte gMonIcon_Kirlia - .4byte gMonIcon_Gardevoir - .4byte gMonIcon_Bagon - .4byte gMonIcon_Shelgon - .4byte gMonIcon_Salamence - .4byte gMonIcon_Beldum - .4byte gMonIcon_Metang - .4byte gMonIcon_Metagross - .4byte gMonIcon_Regirock - .4byte gMonIcon_Regice - .4byte gMonIcon_Registeel - .4byte gMonIcon_Kyogre - .4byte gMonIcon_Groudon - .4byte gMonIcon_Rayquaza - .4byte gMonIcon_Latias - .4byte gMonIcon_Latios - .4byte gMonIcon_Jirachi - .4byte gMonIcon_Deoxys - .4byte gMonIcon_Chimecho - .4byte gMonIcon_Egg - .4byte gMonIcon_UnownB - .4byte gMonIcon_UnownC - .4byte gMonIcon_UnownD - .4byte gMonIcon_UnownE - .4byte gMonIcon_UnownF - .4byte gMonIcon_UnownG - .4byte gMonIcon_UnownH - .4byte gMonIcon_UnownI - .4byte gMonIcon_UnownJ - .4byte gMonIcon_UnownK - .4byte gMonIcon_UnownL - .4byte gMonIcon_UnownM - .4byte gMonIcon_UnownN - .4byte gMonIcon_UnownO - .4byte gMonIcon_UnownP - .4byte gMonIcon_UnownQ - .4byte gMonIcon_UnownR - .4byte gMonIcon_UnownS - .4byte gMonIcon_UnownT - .4byte gMonIcon_UnownU - .4byte gMonIcon_UnownV - .4byte gMonIcon_UnownW - .4byte gMonIcon_UnownX - .4byte gMonIcon_UnownY - .4byte gMonIcon_UnownZ - .4byte gMonIcon_UnownExclamationMark - .4byte gMonIcon_UnownQuestionMark diff --git a/data/party_menu.s b/data/party_menu.s index 36ee4f960..95d9bb78e 100644 --- a/data/party_menu.s +++ b/data/party_menu.s @@ -166,10 +166,51 @@ gUnknown_08615AF1:: @ 8615AF1 .incbin "baserom.gba", 0x615af1, 0x3 gUnknown_08615AF4:: @ 8615AF4 - .incbin "baserom.gba", 0x615af4, 0x6c + .4byte gUnknown_085E9E43 + .4byte gUnknown_085EA010 + .4byte gUnknown_085EA02A + .4byte gUnknown_085E9E55 + .4byte gUnknown_085E9E64 + .4byte gUnknown_085E9E79 + .4byte gUnknown_085E9E8F + .4byte gUnknown_085E9EBC + .4byte gUnknown_085E9ED4 + .4byte gUnknown_085E9EE9 + .4byte gUnknown_085E9FDB + .4byte gUnknown_085EA046 + .4byte gUnknown_085EA05B + .4byte gUnknown_085E9F01 + .4byte gUnknown_085E9F58 + .4byte gUnknown_085E9F6F + .4byte gUnknown_085E9F81 + .4byte gUnknown_085E9F90 + .4byte gUnknown_085E9FA7 + .4byte gUnknown_085E9FC2 + .4byte gText_EmptyString2 + .4byte gUnknown_085E9EA6 + .4byte gUnknown_085E9F16 + .4byte gUnknown_085E9F2A + .4byte gUnknown_085E9F42 + .4byte gUnknown_085E9FF9 + .4byte gUnknown_085EA073 gUnknown_08615B60:: @ 8615B60 - .incbin "baserom.gba", 0x615b60, 0xa8 + .4byte gUnknown_085EA091 + .4byte gUnknown_085EA099 + .4byte gUnknown_085EA09E + .4byte gUnknown_085EA0A4 + .4byte gUnknown_085EA0AB + .4byte gUnknown_085EA0E7 + .4byte gUnknown_085EA0B1 + .4byte gUnknown_085EA0B6 + .4byte gUnknown_085EA0BF + .4byte gUnknown_085EA0C5 + .4byte gUnknown_085EA0CF + .4byte gUnknown_085EA0D7 + .4byte gUnknown_085EA0DC + +gUnknown_08615B94:: @ 8615B94 + .incbin "baserom.gba", 0x615b94, 0x74 gUnknown_08615C08:: @ 8615C08 .incbin "baserom.gba", 0x615c08, 0x130 @@ -187,22 +228,28 @@ gUnknown_08615D9C:: @ 8615D9C .incbin "baserom.gba", 0x615d9c, 0x70 gUnknown_08615E0C:: @ 8615E0C - .incbin "baserom.gba", 0x615e0c, 0xa4 + .incbin "baserom.gba", 0x615e0c, 0x24 + +gUnknown_08615E30:: @ 8615E30 + .incbin "baserom.gba", 0x615e30, 0x40 + +gUnknown_08615E70:: @ 8615E70 + .incbin "baserom.gba", 0x615e70, 0x40 gUnknown_08615EB0:: @ 8615EB0 - .incbin "baserom.gba", 0x615eb0, 0x8 + obj_tiles gUnknown_08615E30, 0x40, 55120 gUnknown_08615EB8:: @ 8615EB8 - .incbin "baserom.gba", 0x615eb8, 0x8 + obj_pal gUnknown_08615E70, 55120 gUnknown_08615EC0:: @ 8615EC0 .incbin "baserom.gba", 0x615ec0, 0x38 gUnknown_08615EF8:: @ 8615EF8 - .incbin "baserom.gba", 0x615ef8, 0x8 + obj_tiles gUnknown_08D96CD8, 0x400, 1200 gUnknown_08615F00:: @ 8615F00 - .incbin "baserom.gba", 0x615f00, 0x8 + obj_pal gUnknown_08D96F6C, 1200 gUnknown_08615F08:: @ 8615F08 .incbin "baserom.gba", 0x615f08, 0x68 @@ -214,10 +261,10 @@ gUnknown_08615F78:: @ 8615F78 .incbin "baserom.gba", 0x615f78, 0x80 gUnknown_08615FF8:: @ 8615FF8 - .incbin "baserom.gba", 0x615ff8, 0x8 + obj_tiles gUnknown_08D96F90, 0x400, 1202 gUnknown_08616000:: @ 8616000 - .incbin "baserom.gba", 0x616000, 0x8 + obj_pal gUnknown_08D97188, 1202 gUnknown_08616008:: @ 8616008 .incbin "baserom.gba", 0x616008, 0x18 diff --git a/data/pokedex.s b/data/pokedex.s index 3ba94dbc5..3b783be34 100644 --- a/data/pokedex.s +++ b/data/pokedex.s @@ -1,62 +1,26 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0855C6A4:: @ 855C6A4 - .incbin "baserom.gba", 0x55c6a4, 0x336 - -gUnknown_0855C9DA:: @ 855C9DA - .incbin "baserom.gba", 0x55c9da, 0x304 - -gUnknown_0855CCDE:: @ 855CCDE - .incbin "baserom.gba", 0x55ccde, 0x4b6 - -gUnknown_0855D194:: @ 855D194 - .incbin "baserom.gba", 0x55d194, 0x18 - -gUnknown_0855D1AC:: @ 855D1AC - .incbin "baserom.gba", 0x55d1ac, 0x18 - -gUnknown_0855D1C4:: @ 855D1C4 - .incbin "baserom.gba", 0x55d1c4, 0x18 - -gUnknown_0855D1DC:: @ 855D1DC - .incbin "baserom.gba", 0x55d1dc, 0x18 - -gUnknown_0855D1F4:: @ 855D1F4 - .incbin "baserom.gba", 0x55d1f4, 0x18 - -gUnknown_0855D20C:: @ 855D20C - .incbin "baserom.gba", 0x55d20c, 0x18 - -gUnknown_0855D224:: @ 855D224 - .incbin "baserom.gba", 0x55d224, 0x18 - -gUnknown_0855D23C:: @ 855D23C - .incbin "baserom.gba", 0x55d23c, 0x18 - -gUnknown_0855D254:: @ 855D254 - .incbin "baserom.gba", 0x55d254, 0x18 - -gUnknown_0855D26C:: @ 855D26C - .incbin "baserom.gba", 0x55d26c, 0x10 - -gUnknown_0855D27C:: @ 855D27C - .incbin "baserom.gba", 0x55d27c, 0x10 - -gUnknown_0855D28C:: @ 855D28C - .incbin "baserom.gba", 0x55d28c, 0x5 - -gUnknown_0855D291:: @ 855D291 - .incbin "baserom.gba", 0x55d291, 0x7 - -gUnknown_0855D298:: @ 855D298 - .incbin "baserom.gba", 0x55d298, 0x10 - -gUnknown_0855D2A8:: @ 855D2A8 - .incbin "baserom.gba", 0x55d2a8, 0x10 + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2, 0 + +.macro unk_dex_struct texts, a2, a3, a4 + .4byte \texts + .byte \a2, \a3, \a4 + .byte 0 @padding +.endm + +.macro unk_dex_struct_2 text, a2, a3, a4, a5, a6, a7 + .4byte \text + .byte \a2, \a3, \a4, \a5, \a6, \a7 + .2byte 0 @padding +.endm + +.macro unk_dex_struct_3 text, a2, a3, a4 + .4byte \text + .byte \a2, \a3, \a4 + .byte 0 @padding +.endm gUnknown_0855D2B8:: @ 855D2B8 .incbin "baserom.gba", 0x55d2b8, 0x6 @@ -64,8 +28,10 @@ gUnknown_0855D2B8:: @ 855D2B8 gUnknown_0855D2BE:: @ 855D2BE .incbin "baserom.gba", 0x55d2be, 0x40 -gUnknown_0855D2FE:: @ 855D2FE - .incbin "baserom.gba", 0x55d2fe, 0xe +sText_TenDashes:: @ 855D2FE + .string "----------$" + +.align 2 gUnknown_0855D30C:: @ 855D30C .string "$" @@ -101,10 +67,18 @@ gUnknown_0856ED08:: @ 856ED08 .incbin "baserom.gba", 0x56ed08, 0x28 gUnknown_0856ED30:: @ 856ED30 - .incbin "baserom.gba", 0x56ed30, 0x18 + unk_dex_struct_3 gUnknown_085E87A5, 0, 0, 5 + unk_dex_struct_3 gUnknown_085E87D6, 6, 0, 5 + unk_dex_struct_3 gUnknown_085E87EF, 12, 0, 5 gUnknown_0856ED48:: @ 856ED48 - .incbin "baserom.gba", 0x56ed48, 0x54 + unk_dex_struct_2 gUnknown_085E8840, 0, 2, 5, 5, 2, 12 + unk_dex_struct_2 gUnknown_085E887C, 0, 4, 5, 5, 4, 12 + unk_dex_struct_2 gUnknown_085E88A6, 0, 6, 5, 5, 6, 6 + unk_dex_struct_2 gUnknown_085E88A6, 0, 6, 5, 11, 6, 6 + unk_dex_struct_2 gUnknown_085E881F, 0, 8, 5, 5, 8, 12 + unk_dex_struct_2 gUnknown_085E8806, 0, 10, 5, 5, 10, 12 + unk_dex_struct_2 gUnknown_085E88C8, 0, 12, 5, 0, 0, 0 gUnknown_0856ED9C:: @ 856ED9C .incbin "baserom.gba", 0x56ed9c, 0x1c @@ -119,19 +93,119 @@ gUnknown_0856EDF0:: @ 856EDF0 .incbin "baserom.gba", 0x56edf0, 0x1c gUnknown_0856EE0C:: @ 856EE0C - .incbin "baserom.gba", 0x56ee0c, 0x18 + .4byte gUnknown_085E89A4 + .4byte gUnknown_085E88DF + .4byte gUnknown_085E89BB + .4byte gUnknown_085E88E9 + .4byte NULL + .4byte NULL gUnknown_0856EE24:: @ 856EE24 - .incbin "baserom.gba", 0x56ee24, 0x38 + .4byte gUnknown_085E89D4 + .4byte gUnknown_085E88F6 + .4byte gUnknown_085E8A02 + .4byte gUnknown_085E8905 + .4byte gUnknown_085E8A37 + .4byte gUnknown_085E8911 + .4byte gUnknown_085E8A73 + .4byte gUnknown_085E891F + .4byte gUnknown_085E8AAF + .4byte gUnknown_085E892D + .4byte gUnknown_085E8AEA + .4byte gUnknown_085E893A + .4byte 0 + .4byte 0 gUnknown_0856EE5C:: @ 856EE5C - .incbin "baserom.gba", 0x56ee5c, 0x58 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8B26 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8948 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E894C + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8950 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8954 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8958 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E895C + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8960 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8964 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8968 + .4byte 0 + .4byte 0 gUnknown_0856EEB4:: @ 856EEB4 - .incbin "baserom.gba", 0x56eeb4, 0x60 - + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8B26 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E896B + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E896F + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8974 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E897B + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8981 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8987 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E898D + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8994 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8999 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E899F + .4byte 0 + .4byte 0 + +@ read from type table for each type except ???, entry is 7 byte of length gUnknown_0856EF14:: @ 856EF14 - .incbin "baserom.gba", 0x56ef14, 0x98 + .4byte gUnknown_085E8B25 + .4byte gUnknown_085E8B35 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 0 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 7 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 14 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 21 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 28 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 35 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 42 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 49 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 56 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 70 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 77 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 84 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 91 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 98 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 105 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 112 + .4byte gUnknown_085E8B25 + .4byte gTypeNames + 119 + .4byte 0 + .4byte 0 gUnknown_0856EFAC:: @ 856EFAC .incbin "baserom.gba", 0x56efac, 0x2 @@ -143,7 +217,12 @@ gUnknown_0856EFB4:: @ 856EFB4 .incbin "baserom.gba", 0x56efb4, 0x14 gUnknown_0856EFC8:: @ 856EFC8 - .incbin "baserom.gba", 0x56efc8, 0x30 + unk_dex_struct gUnknown_0856EE5C, 6, 7, 10 + unk_dex_struct gUnknown_0856EEB4, 8, 9, 11 + unk_dex_struct gUnknown_0856EF14, 10,11, 18 + unk_dex_struct gUnknown_0856EF14, 12, 13, 18 + unk_dex_struct gUnknown_0856EE24, 4, 5, 6 + unk_dex_struct gUnknown_0856EE0C, 2, 3, 2 gUnknown_0856EFF8:: @ 856EFF8 .incbin "baserom.gba", 0x56eff8, 0x10 diff --git a/data/pokedex_entries.inc b/data/pokedex_entries.inc index 76eedf023..ce98a7b26 100644 --- a/data/pokedex_entries.inc +++ b/data/pokedex_entries.inc @@ -1,11 +1,11 @@ .align 2 gPokedexEntries:: @ 856B5B0 .string "UNKNOWN$", 12 - pokedex_entry 0, 0, gDummyPokedexText, 256, 0, 256, 0 + pokedex_entry 0, 0, gDummyPokedexText, 256, 0, 256, 0 .string "SEED$", 12 pokedex_entry 7, 69, gBulbasaurPokedexText, 356, 17, 256, 0 .string "SEED$", 12 - pokedex_entry 10, 130, gIvysaurPokedexText, 335, 13, 256, 0 + pokedex_entry 10, 130, gIvysaurPokedexText, 335, 13, 256, 0 .string "SEED$", 12 pokedex_entry 20, 1000, gVenusaurPokedexText, 256, 0, 388, 6 .string "LIZARD$", 12 @@ -23,37 +23,37 @@ gPokedexEntries:: @ 856B5B0 .string "WORM$", 12 pokedex_entry 3, 29, gCaterpiePokedexText, 549, 22, 256, 0 .string "COCOON$", 12 - pokedex_entry 7, 99, gMetapodPokedexText, 350, 18, 256, 0 + pokedex_entry 7, 99, gMetapodPokedexText, 350, 18, 256, 0 .string "BUTTERFLY$", 12 pokedex_entry 11, 320, gButterfreePokedexText, 312, 2, 256, 0 .string "HAIRY BUG$", 12 - pokedex_entry 3, 32, gWeedlePokedexText, 455, 22, 256, 0 + pokedex_entry 3, 32, gWeedlePokedexText, 455, 22, 256, 0 .string "COCOON$", 12 - pokedex_entry 6, 100, gKakunaPokedexText, 424, 17, 256, 0 + pokedex_entry 6, 100, gKakunaPokedexText, 424, 17, 256, 0 .string "POISON BEE$", 12 pokedex_entry 10, 295, gBeedrillPokedexText, 366, 2, 256, 0 .string "TINY BIRD$", 12 - pokedex_entry 3, 18, gPidgeyPokedexText, 508, -3, 256, 0 + pokedex_entry 3, 18, gPidgeyPokedexText, 508, -3, 256, 0 .string "BIRD$", 12 pokedex_entry 11, 300, gPidgeottoPokedexText, 331, 10, 256, 0 .string "BIRD$", 12 - pokedex_entry 15, 395, gPidgeotPokedexText, 269, 0, 256, 0 + pokedex_entry 15, 395, gPidgeotPokedexText, 269, 0, 256, 0 .string "MOUSE$", 12 - pokedex_entry 3, 35, gRattataPokedexText, 481, 21, 256, 0 + pokedex_entry 3, 35, gRattataPokedexText, 481, 21, 256, 0 .string "MOUSE$", 12 pokedex_entry 7, 185, gRaticatePokedexText, 459, 18, 256, 0 .string "TINY BIRD$", 12 - pokedex_entry 3, 20, gSpearowPokedexText, 571, 22, 256, 0 + pokedex_entry 3, 20, gSpearowPokedexText, 571, 22, 256, 0 .string "BEAK$", 12 - pokedex_entry 12, 380, gFearowPokedexText, 278, 1, 256, 0 + pokedex_entry 12, 380, gFearowPokedexText, 278, 1, 256, 0 .string "SNAKE$", 12 - pokedex_entry 20, 69, gEkansPokedexText, 298, 12, 256, 0 + pokedex_entry 20, 69, gEkansPokedexText, 298, 12, 256, 0 .string "COBRA$", 12 - pokedex_entry 35, 650, gArbokPokedexText, 256, 0, 296, 2 + pokedex_entry 35, 650, gArbokPokedexText, 256, 0, 296, 2 .string "MOUSE$", 12 - pokedex_entry 4, 60, gPikachuPokedexText, 479, 19, 256, 0 + pokedex_entry 4, 60, gPikachuPokedexText, 479, 19, 256, 0 .string "MOUSE$", 12 - pokedex_entry 8, 300, gRaichuPokedexText, 426, 13, 256, 0 + pokedex_entry 8, 300, gRaichuPokedexText, 426, 13, 256, 0 .string "MOUSE$", 12 pokedex_entry 6, 120, gSandshrewPokedexText, 365, 18, 256, 0 .string "MOUSE$", 12 @@ -75,7 +75,7 @@ gPokedexEntries:: @ 856B5B0 .string "FAIRY$", 12 pokedex_entry 13, 400, gClefablePokedexText, 256, 5, 256, 0 .string "FOX$", 12 - pokedex_entry 6, 99, gVulpixPokedexText, 542, 19, 256, 0 + pokedex_entry 6, 99, gVulpixPokedexText, 542, 19, 256, 0 .string "FOX$", 12 pokedex_entry 11, 199, gNinetalesPokedexText, 339, 10, 256, 0 .string "BALLOON$", 12 @@ -83,37 +83,37 @@ gPokedexEntries:: @ 856B5B0 .string "BALLOON$", 12 pokedex_entry 10, 120, gWigglytuffPokedexText, 328, 11, 256, 0 .string "BAT$", 12 - pokedex_entry 8, 75, gZubatPokedexText, 362, -5, 256, 0 + pokedex_entry 8, 75, gZubatPokedexText, 362, -5, 256, 0 .string "BAT$", 12 - pokedex_entry 16, 550, gGolbatPokedexText, 256, 1, 256, 0 + pokedex_entry 16, 550, gGolbatPokedexText, 256, 1, 256, 0 .string "WEED$", 12 - pokedex_entry 5, 54, gOddishPokedexText, 423, 19, 256, 0 + pokedex_entry 5, 54, gOddishPokedexText, 423, 19, 256, 0 .string "WEED$", 12 - pokedex_entry 8, 86, gGloomPokedexText, 329, 13, 256, 0 + pokedex_entry 8, 86, gGloomPokedexText, 329, 13, 256, 0 .string "FLOWER$", 12 pokedex_entry 12, 186, gVileplumePokedexText, 256, 4, 256, 0 .string "MUSHROOM$", 12 - pokedex_entry 3, 54, gParasPokedexText, 593, 22, 256, 0 + pokedex_entry 3, 54, gParasPokedexText, 593, 22, 256, 0 .string "MUSHROOM$", 12 pokedex_entry 10, 295, gParasectPokedexText, 307, 8, 256, 0 .string "INSECT$", 12 - pokedex_entry 10, 300, gVenonatPokedexText, 360, 0, 256, -1 + pokedex_entry 10, 300, gVenonatPokedexText, 360, 0, 256, -1 .string "POISON MOTH$", 12 pokedex_entry 15, 125, gVenomothPokedexText, 285, 2, 256, 1 .string "MOLE$", 12 - pokedex_entry 2, 8, gDiglettPokedexText, 833, 25, 256, 0 + pokedex_entry 2, 8, gDiglettPokedexText, 833, 25, 256, 0 .string "MOLE$", 12 - pokedex_entry 7, 333, gDugtrioPokedexText, 406, 18, 256, 0 + pokedex_entry 7, 333, gDugtrioPokedexText, 406, 18, 256, 0 .string "SCRATCH CAT$", 12 - pokedex_entry 4, 42, gMeowthPokedexText, 480, 19, 256, 0 + pokedex_entry 4, 42, gMeowthPokedexText, 480, 19, 256, 0 .string "CLASSY CAT$", 12 - pokedex_entry 10, 320, gPersianPokedexText, 320, 10, 256, 0 + pokedex_entry 10, 320, gPersianPokedexText, 320, 10, 256, 0 .string "DUCK$", 12 - pokedex_entry 8, 196, gPsyduckPokedexText, 369, 15, 256, 0 + pokedex_entry 8, 196, gPsyduckPokedexText, 369, 15, 256, 0 .string "DUCK$", 12 - pokedex_entry 17, 766, gGolduckPokedexText, 256, 1, 273, 1 + pokedex_entry 17, 766, gGolduckPokedexText, 256, 1, 273, 1 .string "PIG MONKEY$", 12 - pokedex_entry 5, 280, gMankeyPokedexText, 404, 19, 256, 0 + pokedex_entry 5, 280, gMankeyPokedexText, 404, 19, 256, 0 .string "PIG MONKEY$", 12 pokedex_entry 10, 320, gPrimeapePokedexText, 326, 10, 256, 0 .string "PUPPY$", 12 @@ -121,23 +121,23 @@ gPokedexEntries:: @ 856B5B0 .string "LEGENDARY$", 12 pokedex_entry 19, 1550, gArcaninePokedexText, 256, 1, 312, 4 .string "TADPOLE$", 12 - pokedex_entry 6, 124, gPoliwagPokedexText, 369, 20, 256, 0 + pokedex_entry 6, 124, gPoliwagPokedexText, 369, 20, 256, 0 .string "TADPOLE$", 12 pokedex_entry 10, 200, gPoliwhirlPokedexText, 288, 11, 256, 0 .string "TADPOLE$", 12 pokedex_entry 13, 540, gPoliwrathPokedexText, 256, 6, 256, 0 .string "PSI$", 12 - pokedex_entry 9, 195, gAbraPokedexText, 363, 14, 256, 0 + pokedex_entry 9, 195, gAbraPokedexText, 363, 14, 256, 0 .string "PSI$", 12 - pokedex_entry 13, 565, gKadabraPokedexText, 256, 3, 256, 0 + pokedex_entry 13, 565, gKadabraPokedexText, 256, 3, 256, 0 .string "PSI$", 12 pokedex_entry 15, 480, gAlakazamPokedexText, 256, 3, 256, 0 .string "SUPERPOWER$", 12 - pokedex_entry 8, 195, gMachopPokedexText, 342, 14, 256, 0 + pokedex_entry 8, 195, gMachopPokedexText, 342, 14, 256, 0 .string "SUPERPOWER$", 12 - pokedex_entry 15, 705, gMachokePokedexText, 323, 9, 257, 0 + pokedex_entry 15, 705, gMachokePokedexText, 323, 9, 257, 0 .string "SUPERPOWER$", 12 - pokedex_entry 16, 1300, gMachampPokedexText, 280, 1, 269, -1 + pokedex_entry 16, 1300, gMachampPokedexText, 280, 1, 269, -1 .string "FLOWER$", 12 pokedex_entry 7, 40, gBellsproutPokedexText, 354, 16, 256, 0 .string "FLYCATCHER$", 12 @@ -149,19 +149,19 @@ gPokedexEntries:: @ 856B5B0 .string "JELLYFISH$", 12 pokedex_entry 16, 550, gTentacruelPokedexText, 256, 0, 312, 1 .string "ROCK$", 12 - pokedex_entry 4, 200, gGeodudePokedexText, 347, 18, 256, 0 + pokedex_entry 4, 200, gGeodudePokedexText, 347, 18, 256, 0 .string "ROCK$", 12 pokedex_entry 10, 1050, gGravelerPokedexText, 256, 2, 256, 0 .string "MEGATON$", 12 - pokedex_entry 14, 3000, gGolemPokedexText, 256, 3, 296, 2 + pokedex_entry 14, 3000, gGolemPokedexText, 256, 3, 296, 2 .string "FIRE HORSE$", 12 - pokedex_entry 10, 300, gPonytaPokedexText, 283, 8, 256, 0 + pokedex_entry 10, 300, gPonytaPokedexText, 283, 8, 256, 0 .string "FIRE HORSE$", 12 pokedex_entry 17, 950, gRapidashPokedexText, 256, 0, 289, 1 .string "DOPEY$", 12 pokedex_entry 12, 360, gSlowpokePokedexText, 256, 10, 256, 0 .string "HERMIT CRAB$", 12 - pokedex_entry 16, 785, gSlowbroPokedexText, 256, 6, 296, 2 + pokedex_entry 16, 785, gSlowbroPokedexText, 256, 6, 296, 2 .string "MAGNET$", 12 pokedex_entry 3, 60, gMagnemitePokedexText, 288, -9, 256, 0 .string "MAGNET$", 12 @@ -169,39 +169,39 @@ gPokedexEntries:: @ 856B5B0 .string "WILD DUCK$", 12 pokedex_entry 8, 150, gFarfetchdPokedexText, 330, 2, 293, 2 .string "TWIN BIRD$", 12 - pokedex_entry 14, 392, gDoduoPokedexText, 256, 3, 257, -1 + pokedex_entry 14, 392, gDoduoPokedexText, 256, 3, 257, -1 .string "TRIPLE BIRD$", 12 - pokedex_entry 18, 852, gDodrioPokedexText, 256, 0, 268, 0 + pokedex_entry 18, 852, gDodrioPokedexText, 256, 0, 268, 0 .string "SEA LION$", 12 - pokedex_entry 11, 900, gSeelPokedexText, 297, 8, 256, 0 + pokedex_entry 11, 900, gSeelPokedexText, 297, 8, 256, 0 .string "SEA LION$", 12 - pokedex_entry 17, 1200, gDewgongPokedexText, 256, 0, 275, 0 + pokedex_entry 17, 1200, gDewgongPokedexText, 256, 0, 275, 0 .string "SLUDGE$", 12 - pokedex_entry 9, 300, gGrimerPokedexText, 258, 10, 256, 0 + pokedex_entry 9, 300, gGrimerPokedexText, 258, 10, 256, 0 .string "SLUDGE$", 12 - pokedex_entry 12, 300, gMukPokedexText, 256, 2, 256, 0 + pokedex_entry 12, 300, gMukPokedexText, 256, 2, 256, 0 .string "BIVALVE$", 12 pokedex_entry 3, 40, gShellderPokedexText, 675, 24, 256, 0 .string "BIVALVE$", 12 pokedex_entry 15, 1325, gCloysterPokedexText, 256, 0, 269, 1 .string "GAS$", 12 - pokedex_entry 13, 1, gGastlyPokedexText, 256, 0, 256, 0 + pokedex_entry 13, 1, gGastlyPokedexText, 256, 0, 256, 0 .string "GAS$", 12 - pokedex_entry 16, 1, gHaunterPokedexText, 256, 2, 293, 2 + pokedex_entry 16, 1, gHaunterPokedexText, 256, 2, 293, 2 .string "SHADOW$", 12 - pokedex_entry 15, 405, gGengarPokedexText, 256, 2, 302, 2 + pokedex_entry 15, 405, gGengarPokedexText, 256, 2, 302, 2 .string "ROCK SNAKE$", 12 - pokedex_entry 88, 2100, gOnixPokedexText, 256, 1, 515, 14 + pokedex_entry 88, 2100, gOnixPokedexText, 256, 1, 515, 14 .string "HYPNOSIS$", 12 - pokedex_entry 10, 324, gDrowzeePokedexText, 274, 6, 256, 0 + pokedex_entry 10, 324, gDrowzeePokedexText, 274, 6, 256, 0 .string "HYPNOSIS$", 12 - pokedex_entry 16, 756, gHypnoPokedexText, 256, 3, 257, 0 + pokedex_entry 16, 756, gHypnoPokedexText, 256, 3, 257, 0 .string "RIVER CRAB$", 12 - pokedex_entry 4, 65, gKrabbyPokedexText, 469, 20, 256, 0 + pokedex_entry 4, 65, gKrabbyPokedexText, 469, 20, 256, 0 .string "PINCER$", 12 - pokedex_entry 13, 600, gKinglerPokedexText, 256, 2, 256, 0 + pokedex_entry 13, 600, gKinglerPokedexText, 256, 2, 256, 0 .string "BALL$", 12 - pokedex_entry 5, 104, gVoltorbPokedexText, 364, -8, 256, 0 + pokedex_entry 5, 104, gVoltorbPokedexText, 364, -8, 256, 0 .string "BALL$", 12 pokedex_entry 12, 666, gElectrodePokedexText, 256, 0, 256, 0 .string "EGG$", 12 @@ -209,9 +209,9 @@ gPokedexEntries:: @ 856B5B0 .string "COCONUT$", 12 pokedex_entry 20, 1200, gExeggutorPokedexText, 256, 0, 309, 5 .string "LONELY$", 12 - pokedex_entry 4, 65, gCubonePokedexText, 545, 21, 256, 0 + pokedex_entry 4, 65, gCubonePokedexText, 545, 21, 256, 0 .string "BONE KEEPER$", 12 - pokedex_entry 10, 450, gMarowakPokedexText, 293, 12, 256, 0 + pokedex_entry 10, 450, gMarowakPokedexText, 293, 12, 256, 0 .string "KICKING$", 12 pokedex_entry 15, 498, gHitmonleePokedexText, 256, 3, 259, 1 .string "PUNCHING$", 12 @@ -219,101 +219,101 @@ gPokedexEntries:: @ 856B5B0 .string "LICKING$", 12 pokedex_entry 12, 655, gLickitungPokedexText, 256, 4, 256, 0 .string "POISON GAS$", 12 - pokedex_entry 6, 10, gKoffingPokedexText, 369, -1, 256, 0 + pokedex_entry 6, 10, gKoffingPokedexText, 369, -1, 256, 0 .string "POISON GAS$", 12 - pokedex_entry 12, 95, gWeezingPokedexText, 305, 3, 256, 0 + pokedex_entry 12, 95, gWeezingPokedexText, 305, 3, 256, 0 .string "SPIKES$", 12 - pokedex_entry 10, 1150, gRhyhornPokedexText, 267, 6, 256, 0 + pokedex_entry 10, 1150, gRhyhornPokedexText, 267, 6, 256, 0 .string "DRILL$", 12 - pokedex_entry 19, 1200, gRhydonPokedexText, 256, 1, 299, 2 + pokedex_entry 19, 1200, gRhydonPokedexText, 256, 1, 299, 2 .string "EGG$", 12 - pokedex_entry 11, 346, gChanseyPokedexText, 257, 7, 256, 0 + pokedex_entry 11, 346, gChanseyPokedexText, 257, 7, 256, 0 .string "VINE$", 12 - pokedex_entry 10, 350, gTangelaPokedexText, 304, 1, 256, 0 + pokedex_entry 10, 350, gTangelaPokedexText, 304, 1, 256, 0 .string "PARENT$", 12 pokedex_entry 22, 800, gKangaskhanPokedexText, 256, 0, 387, 8 .string "DRAGON$", 12 - pokedex_entry 4, 80, gHorseaPokedexText, 399, -1, 256, 0 + pokedex_entry 4, 80, gHorseaPokedexText, 399, -1, 256, 0 .string "DRAGON$", 12 - pokedex_entry 12, 250, gSeadraPokedexText, 299, 3, 256, 0 + pokedex_entry 12, 250, gSeadraPokedexText, 299, 3, 256, 0 .string "GOLDFISH$", 12 - pokedex_entry 6, 150, gGoldeenPokedexText, 379, 4, 256, 0 + pokedex_entry 6, 150, gGoldeenPokedexText, 379, 4, 256, 0 .string "GOLDFISH$", 12 - pokedex_entry 13, 390, gSeakingPokedexText, 256, 3, 256, 0 + pokedex_entry 13, 390, gSeakingPokedexText, 256, 3, 256, 0 .string "STAR SHAPE$", 12 - pokedex_entry 8, 345, gStaryuPokedexText, 326, 1, 256, 0 + pokedex_entry 8, 345, gStaryuPokedexText, 326, 1, 256, 0 .string "MYSTERIOUS$", 12 - pokedex_entry 11, 800, gStarmiePokedexText, 301, 3, 256, 0 + pokedex_entry 11, 800, gStarmiePokedexText, 301, 3, 256, 0 .string "BARRIER$", 12 - pokedex_entry 13, 545, gMrmimePokedexText, 258, 6, 256, 0 + pokedex_entry 13, 545, gMrmimePokedexText, 258, 6, 256, 0 .string "MANTIS$", 12 - pokedex_entry 15, 560, gScytherPokedexText, 256, 1, 293, 2 + pokedex_entry 15, 560, gScytherPokedexText, 256, 1, 293, 2 .string "HUMAN SHAPE$", 12 - pokedex_entry 14, 406, gJynxPokedexText, 256, 3, 300, 1 + pokedex_entry 14, 406, gJynxPokedexText, 256, 3, 300, 1 .string "ELECTRIC$", 12 pokedex_entry 11, 300, gElectabuzzPokedexText, 351, 8, 256, 0 .string "SPITFIRE$", 12 - pokedex_entry 13, 445, gMagmarPokedexText, 277, 5, 256, 0 + pokedex_entry 13, 445, gMagmarPokedexText, 277, 5, 256, 0 .string "STAG BEETLE$", 12 - pokedex_entry 15, 550, gPinsirPokedexText, 256, 2, 257, 0 + pokedex_entry 15, 550, gPinsirPokedexText, 256, 2, 257, 0 .string "WILD BULL$", 12 - pokedex_entry 14, 884, gTaurosPokedexText, 256, 0, 256, 0 + pokedex_entry 14, 884, gTaurosPokedexText, 256, 0, 256, 0 .string "FISH$", 12 pokedex_entry 9, 100, gMagikarpPokedexText, 310, 4, 256, 0 .string "ATROCIOUS$", 12 pokedex_entry 65, 2350, gGyaradosPokedexText, 256, 6, 481, 13 .string "TRANSPORT$", 12 - pokedex_entry 25, 2200, gLaprasPokedexText, 257, 10, 423, 8 + pokedex_entry 25, 2200, gLaprasPokedexText, 257, 10, 423, 8 .string "TRANSFORM$", 12 - pokedex_entry 3, 40, gDittoPokedexText, 633, 23, 256, 0 + pokedex_entry 3, 40, gDittoPokedexText, 633, 23, 256, 0 .string "EVOLUTION$", 12 - pokedex_entry 3, 65, gEeveePokedexText, 476, 18, 256, 0 + pokedex_entry 3, 65, gEeveePokedexText, 476, 18, 256, 0 .string "BUBBLE JET$", 12 pokedex_entry 10, 290, gVaporeonPokedexText, 316, 8, 256, 0 .string "LIGHTNING$", 12 - pokedex_entry 8, 245, gJolteonPokedexText, 283, 8, 256, 0 + pokedex_entry 8, 245, gJolteonPokedexText, 283, 8, 256, 0 .string "FLAME$", 12 - pokedex_entry 9, 250, gFlareonPokedexText, 306, 12, 256, 0 + pokedex_entry 9, 250, gFlareonPokedexText, 306, 12, 256, 0 .string "VIRTUAL$", 12 - pokedex_entry 8, 365, gPorygonPokedexText, 328, 15, 256, 0 + pokedex_entry 8, 365, gPorygonPokedexText, 328, 15, 256, 0 .string "SPIRAL$", 12 - pokedex_entry 4, 75, gOmanytePokedexText, 521, 22, 256, 0 + pokedex_entry 4, 75, gOmanytePokedexText, 521, 22, 256, 0 .string "SPIRAL$", 12 - pokedex_entry 10, 350, gOmastarPokedexText, 307, 7, 256, 0 + pokedex_entry 10, 350, gOmastarPokedexText, 307, 7, 256, 0 .string "SHELLFISH$", 12 - pokedex_entry 5, 115, gKabutoPokedexText, 454, 21, 256, 0 + pokedex_entry 5, 115, gKabutoPokedexText, 454, 21, 256, 0 .string "SHELLFISH$", 12 pokedex_entry 13, 405, gKabutopsPokedexText, 271, 3, 256, 0 .string "FOSSIL$", 12 pokedex_entry 18, 590, gAerodactylPokedexText, 256, 0, 302, 4 .string "SLEEPING$", 12 - pokedex_entry 21, 4600, gSnorlaxPokedexText, 256, 4, 423, 11 + pokedex_entry 21, 4600, gSnorlaxPokedexText, 256, 4, 423, 11 .string "FREEZE$", 12 pokedex_entry 17, 554, gArticunoPokedexText, 256, 0, 309, 2 .string "ELECTRIC$", 12 - pokedex_entry 16, 526, gZapdosPokedexText, 256, 0, 318, 3 + pokedex_entry 16, 526, gZapdosPokedexText, 256, 0, 318, 3 .string "FLAME$", 12 - pokedex_entry 20, 600, gMoltresPokedexText, 270, 0, 387, 8 + pokedex_entry 20, 600, gMoltresPokedexText, 270, 0, 387, 8 .string "DRAGON$", 12 - pokedex_entry 18, 33, gDratiniPokedexText, 256, 8, 386, 6 + pokedex_entry 18, 33, gDratiniPokedexText, 256, 8, 386, 6 .string "DRAGON$", 12 pokedex_entry 40, 165, gDragonairPokedexText, 256, 0, 411, 5 .string "DRAGON$", 12 pokedex_entry 22, 2100, gDragonitePokedexText, 256, 0, 309, 4 .string "GENETIC$", 12 - pokedex_entry 20, 1220, gMewtwoPokedexText, 256, 0, 309, 4 + pokedex_entry 20, 1220, gMewtwoPokedexText, 256, 0, 309, 4 .string "NEW SPECIES$", 12 - pokedex_entry 4, 40, gMewPokedexText, 457, -2, 256, 0 + pokedex_entry 4, 40, gMewPokedexText, 457, -2, 256, 0 .string "LEAF$", 12 pokedex_entry 9, 64, gChikoritaPokedexText, 512, 20, 256, 0 .string "LEAF$", 12 - pokedex_entry 12, 158, gBayleefPokedexText, 296, 4, 256, 0 + pokedex_entry 12, 158, gBayleefPokedexText, 296, 4, 256, 0 .string "HERB$", 12 pokedex_entry 18, 1005, gMeganiumPokedexText, 256, 0, 277, 1 .string "FIRE MOUSE$", 12 pokedex_entry 5, 79, gCyndaquilPokedexText, 539, 21, 256, 0 .string "VOLCANO$", 12 - pokedex_entry 9, 190, gQuilavaPokedexText, 329, 11, 256, 0 + pokedex_entry 9, 190, gQuilavaPokedexText, 329, 11, 256, 0 .string "VOLCANO$", 12 pokedex_entry 17, 795, gTyphlosionPokedexText, 256, 0, 268, 1 .string "BIG JAW$", 12 @@ -323,51 +323,51 @@ gPokedexEntries:: @ 856B5B0 .string "BIG JAW$", 12 pokedex_entry 23, 888, gFeraligatrPokedexText, 256, 0, 342, 7 .string "SCOUT$", 12 - pokedex_entry 8, 60, gSentretPokedexText, 439, 12, 256, 0 + pokedex_entry 8, 60, gSentretPokedexText, 439, 12, 256, 0 .string "LONG BODY$", 12 - pokedex_entry 18, 325, gFurretPokedexText, 346, 11, 256, 0 + pokedex_entry 18, 325, gFurretPokedexText, 346, 11, 256, 0 .string "OWL$", 12 pokedex_entry 7, 212, gHoothootPokedexText, 380, -2, 256, 0 .string "OWL$", 12 - pokedex_entry 16, 408, gNoctowlPokedexText, 278, 3, 256, 0 + pokedex_entry 16, 408, gNoctowlPokedexText, 278, 3, 256, 0 .string "FIVE STAR$", 12 - pokedex_entry 10, 108, gLedybaPokedexText, 256, 4, 256, 0 + pokedex_entry 10, 108, gLedybaPokedexText, 256, 4, 256, 0 .string "FIVE STAR$", 12 - pokedex_entry 14, 356, gLedianPokedexText, 256, 2, 256, 0 + pokedex_entry 14, 356, gLedianPokedexText, 256, 2, 256, 0 .string "STRING SPIT$", 12 pokedex_entry 5, 85, gSpinarakPokedexText, 414, 21, 256, 0 .string "LONG LEG$", 12 - pokedex_entry 11, 335, gAriadosPokedexText, 316, 8, 256, 0 + pokedex_entry 11, 335, gAriadosPokedexText, 316, 8, 256, 0 .string "BAT$", 12 - pokedex_entry 18, 750, gCrobatPokedexText, 256, 0, 281, 1 + pokedex_entry 18, 750, gCrobatPokedexText, 256, 0, 281, 1 .string "ANGLER$", 12 pokedex_entry 5, 120, gChinchouPokedexText, 424, -2, 256, 0 .string "LIGHT$", 12 - pokedex_entry 12, 225, gLanturnPokedexText, 269, 6, 256, 0 + pokedex_entry 12, 225, gLanturnPokedexText, 269, 6, 256, 0 .string "TINY MOUSE$", 12 - pokedex_entry 3, 20, gPichuPokedexText, 508, 20, 256, 0 + pokedex_entry 3, 20, gPichuPokedexText, 508, 20, 256, 0 .string "STAR SHAPE$", 12 - pokedex_entry 3, 30, gCleffaPokedexText, 462, 23, 256, 0 + pokedex_entry 3, 30, gCleffaPokedexText, 462, 23, 256, 0 .string "BALLOON$", 12 pokedex_entry 3, 10, gIgglybuffPokedexText, 457, -1, 256, 0 .string "SPIKE BALL$", 12 - pokedex_entry 3, 15, gTogepiPokedexText, 507, 23, 256, 0 + pokedex_entry 3, 15, gTogepiPokedexText, 507, 23, 256, 0 .string "HAPPINESS$", 12 - pokedex_entry 6, 32, gTogeticPokedexText, 424, 17, 256, 0 + pokedex_entry 6, 32, gTogeticPokedexText, 424, 17, 256, 0 .string "TINY BIRD$", 12 - pokedex_entry 2, 20, gNatuPokedexText, 610, 25, 256, 0 + pokedex_entry 2, 20, gNatuPokedexText, 610, 25, 256, 0 .string "MYSTIC$", 12 - pokedex_entry 15, 150, gXatuPokedexText, 256, 6, 318, 4 + pokedex_entry 15, 150, gXatuPokedexText, 256, 6, 318, 4 .string "WOOL$", 12 - pokedex_entry 6, 78, gMareepPokedexText, 379, 18, 256, 0 + pokedex_entry 6, 78, gMareepPokedexText, 379, 18, 256, 0 .string "WOOL$", 12 - pokedex_entry 8, 133, gFlaaffyPokedexText, 372, 15, 256, 0 + pokedex_entry 8, 133, gFlaaffyPokedexText, 372, 15, 256, 0 .string "LIGHT$", 12 pokedex_entry 14, 615, gAmpharosPokedexText, 256, 4, 256, 0 .string "FLOWER$", 12 pokedex_entry 4, 58, gBellossomPokedexText, 472, 21, 256, 0 .string "AQUA MOUSE$", 12 - pokedex_entry 4, 85, gMarillPokedexText, 476, 20, 256, 0 + pokedex_entry 4, 85, gMarillPokedexText, 476, 20, 256, 0 .string "AQUA RABBIT$", 12 pokedex_entry 8, 285, gAzumarillPokedexText, 448, 16, 256, 0 .string "IMITATION$", 12 @@ -375,49 +375,49 @@ gPokedexEntries:: @ 856B5B0 .string "FROG$", 12 pokedex_entry 11, 339, gPolitoedPokedexText, 289, 6, 256, 0 .string "COTTONWEED$", 12 - pokedex_entry 4, 5, gHoppipPokedexText, 562, -7, 256, 0 + pokedex_entry 4, 5, gHoppipPokedexText, 562, -7, 256, 0 .string "COTTONWEED$", 12 pokedex_entry 6, 10, gSkiploomPokedexText, 387, 0, 256, 0 .string "COTTONWEED$", 12 pokedex_entry 8, 30, gJumpluffPokedexText, 418, -4, 256, 0 .string "LONG TAIL$", 12 - pokedex_entry 8, 115, gAipomPokedexText, 363, 6, 256, 0 + pokedex_entry 8, 115, gAipomPokedexText, 363, 6, 256, 0 .string "SEED$", 12 - pokedex_entry 3, 18, gSunkernPokedexText, 541, 0, 256, 0 + pokedex_entry 3, 18, gSunkernPokedexText, 541, 0, 256, 0 .string "SUN$", 12 pokedex_entry 8, 85, gSunfloraPokedexText, 444, 15, 256, 0 .string "CLEAR WING$", 12 - pokedex_entry 12, 380, gYanmaPokedexText, 274, -1, 256, 0 + pokedex_entry 12, 380, gYanmaPokedexText, 274, -1, 256, 0 .string "WATER FISH$", 12 - pokedex_entry 4, 85, gWooperPokedexText, 479, 21, 256, 0 + pokedex_entry 4, 85, gWooperPokedexText, 479, 21, 256, 0 .string "WATER FISH$", 12 pokedex_entry 14, 750, gQuagsirePokedexText, 256, 4, 256, 0 .string "SUN$", 12 - pokedex_entry 9, 265, gEspeonPokedexText, 363, 14, 256, 0 + pokedex_entry 9, 265, gEspeonPokedexText, 363, 14, 256, 0 .string "MOONLIGHT$", 12 - pokedex_entry 10, 270, gUmbreonPokedexText, 317, 11, 256, 0 + pokedex_entry 10, 270, gUmbreonPokedexText, 317, 11, 256, 0 .string "DARKNESS$", 12 - pokedex_entry 5, 21, gMurkrowPokedexText, 401, -8, 256, 1 + pokedex_entry 5, 21, gMurkrowPokedexText, 401, -8, 256, 1 .string "ROYAL$", 12 pokedex_entry 20, 795, gSlowkingPokedexText, 256, 0, 309, 5 .string "SCREECH$", 12 pokedex_entry 7, 10, gMisdreavusPokedexText, 407, -8, 256, 0 .string "SYMBOL$", 12 - pokedex_entry 5, 50, gUnownPokedexText, 411, 2, 256, 0 + pokedex_entry 5, 50, gUnownPokedexText, 411, 2, 256, 0 .string "PATIENT$", 12 pokedex_entry 13, 285, gWobbuffetPokedexText, 274, 4, 256, 0 .string "LONG NECK$", 12 pokedex_entry 15, 415, gGirafarigPokedexText, 281, 1, 256, 0 .string "BAGWORM$", 12 - pokedex_entry 6, 72, gPinecoPokedexText, 445, 2, 256, 0 + pokedex_entry 6, 72, gPinecoPokedexText, 445, 2, 256, 0 .string "BAGWORM$", 12 pokedex_entry 12, 1258, gForretressPokedexText, 293, 5, 256, 0 .string "LAND SNAKE$", 12 pokedex_entry 15, 140, gDunsparcePokedexText, 316, 17, 256, 0 .string "FLYSCORPION$", 12 - pokedex_entry 11, 648, gGligarPokedexText, 350, -1, 256, 0 + pokedex_entry 11, 648, gGligarPokedexText, 350, -1, 256, 0 .string "IRON SNAKE$", 12 - pokedex_entry 92, 4000, gSteelixPokedexText, 256, 0, 516, 13 + pokedex_entry 92, 4000, gSteelixPokedexText, 256, 0, 516, 13 .string "FAIRY$", 12 pokedex_entry 6, 78, gSnubbullPokedexText, 465, 19, 256, 0 .string "FAIRY$", 12 @@ -425,27 +425,27 @@ gPokedexEntries:: @ 856B5B0 .string "BALLOON$", 12 pokedex_entry 5, 39, gQwilfishPokedexText, 430, 0, 256, 0 .string "PINCER$", 12 - pokedex_entry 18, 1180, gScizorPokedexText, 278, 1, 256, 0 + pokedex_entry 18, 1180, gScizorPokedexText, 278, 1, 256, 0 .string "MOLD$", 12 - pokedex_entry 6, 205, gShucklePokedexText, 485, 18, 256, 0 + pokedex_entry 6, 205, gShucklePokedexText, 485, 18, 256, 0 .string "SINGLE HORN$", 12 pokedex_entry 15, 540, gHeracrossPokedexText, 256, 0, 256, 0 .string "SHARP CLAW$", 12 - pokedex_entry 9, 280, gSneaselPokedexText, 413, -3, 256, 0 + pokedex_entry 9, 280, gSneaselPokedexText, 413, -3, 256, 0 .string "LITTLE BEAR$", 12 pokedex_entry 6, 88, gTeddiursaPokedexText, 455, 19, 256, 0 .string "HIBERNATOR$", 12 pokedex_entry 18, 1258, gUrsaringPokedexText, 256, 0, 256, 0 .string "LAVA$", 12 - pokedex_entry 7, 350, gSlugmaPokedexText, 329, 15, 256, 0 + pokedex_entry 7, 350, gSlugmaPokedexText, 329, 15, 256, 0 .string "LAVA$", 12 pokedex_entry 8, 550, gMagcargoPokedexText, 332, 15, 256, 0 .string "PIG$", 12 - pokedex_entry 4, 65, gSwinubPokedexText, 324, 20, 256, 0 + pokedex_entry 4, 65, gSwinubPokedexText, 324, 20, 256, 0 .string "SWINE$", 12 pokedex_entry 11, 558, gPiloswinePokedexText, 306, 10, 256, 0 .string "CORAL$", 12 - pokedex_entry 6, 50, gCorsolaPokedexText, 410, 15, 256, 0 + pokedex_entry 6, 50, gCorsolaPokedexText, 410, 15, 256, 0 .string "JET$", 12 pokedex_entry 6, 120, gRemoraidPokedexText, 316, 4, 256, 0 .string "JET$", 12 @@ -453,7 +453,7 @@ gPokedexEntries:: @ 856B5B0 .string "DELIVERY$", 12 pokedex_entry 9, 160, gDelibirdPokedexText, 293, 11, 256, 0 .string "KITE$", 12 - pokedex_entry 21, 2200, gMantinePokedexText, 256, 0, 342, 7 + pokedex_entry 21, 2200, gMantinePokedexText, 256, 0, 342, 7 .string "ARMOR BIRD$", 12 pokedex_entry 17, 505, gSkarmoryPokedexText, 256, 0, 271, 1 .string "DARK$", 12 @@ -461,11 +461,11 @@ gPokedexEntries:: @ 856B5B0 .string "DARK$", 12 pokedex_entry 14, 350, gHoundoomPokedexText, 256, 4, 256, 0 .string "DRAGON$", 12 - pokedex_entry 18, 1520, gKingdraPokedexText, 256, 0, 287, 0 + pokedex_entry 18, 1520, gKingdraPokedexText, 256, 0, 287, 0 .string "LONG NOSE$", 12 - pokedex_entry 5, 335, gPhanpyPokedexText, 465, 21, 256, 0 + pokedex_entry 5, 335, gPhanpyPokedexText, 465, 21, 256, 0 .string "ARMOR$", 12 - pokedex_entry 11, 1200, gDonphanPokedexText, 313, 9, 256, 0 + pokedex_entry 11, 1200, gDonphanPokedexText, 313, 9, 256, 0 .string "VIRTUAL$", 12 pokedex_entry 6, 325, gPorygon2PokedexText, 320, 17, 256, 0 .string "BIG HORN$", 12 @@ -473,51 +473,51 @@ gPokedexEntries:: @ 856B5B0 .string "PAINTER$", 12 pokedex_entry 12, 580, gSmearglePokedexText, 287, 5, 256, 0 .string "SCUFFLE$", 12 - pokedex_entry 7, 210, gTyroguePokedexText, 292, 9, 256, 0 + pokedex_entry 7, 210, gTyroguePokedexText, 292, 9, 256, 0 .string "HANDSTAND$", 12 pokedex_entry 14, 480, gHitmontopPokedexText, 256, 2, 257, 0 .string "KISS$", 12 pokedex_entry 4, 60, gSmoochumPokedexText, 440, 20, 256, 0 .string "ELECTRIC$", 12 - pokedex_entry 6, 235, gElekidPokedexText, 363, 14, 256, 0 + pokedex_entry 6, 235, gElekidPokedexText, 363, 14, 256, 0 .string "LIVE COAL$", 12 - pokedex_entry 7, 214, gMagbyPokedexText, 284, 13, 256, 0 + pokedex_entry 7, 214, gMagbyPokedexText, 284, 13, 256, 0 .string "MILK COW$", 12 - pokedex_entry 12, 755, gMiltankPokedexText, 280, 5, 256, 0 + pokedex_entry 12, 755, gMiltankPokedexText, 280, 5, 256, 0 .string "HAPPINESS$", 12 - pokedex_entry 15, 468, gBlisseyPokedexText, 256, 4, 310, 3 + pokedex_entry 15, 468, gBlisseyPokedexText, 256, 4, 310, 3 .string "THUNDER$", 12 - pokedex_entry 19, 1780, gRaikouPokedexText, 256, 0, 345, 7 + pokedex_entry 19, 1780, gRaikouPokedexText, 256, 0, 345, 7 .string "VOLCANO$", 12 - pokedex_entry 21, 1980, gEnteiPokedexText, 259, 0, 345, 7 + pokedex_entry 21, 1980, gEnteiPokedexText, 259, 0, 345, 7 .string "AURORA$", 12 - pokedex_entry 20, 1870, gSuicunePokedexText, 269, 0, 345, 7 + pokedex_entry 20, 1870, gSuicunePokedexText, 269, 0, 345, 7 .string "ROCK SKIN$", 12 pokedex_entry 6, 720, gLarvitarPokedexText, 472, 18, 256, 0 .string "HARD SHELL$", 12 - pokedex_entry 12, 1520, gPupitarPokedexText, 292, 8, 256, 0 + pokedex_entry 12, 1520, gPupitarPokedexText, 292, 8, 256, 0 .string "ARMOR$", 12 pokedex_entry 20, 2020, gTyranitarPokedexText, 256, 0, 345, 7 .string "DIVING$", 12 - pokedex_entry 52, 2160, gLugiaPokedexText, 256, 0, 721, 19 + pokedex_entry 52, 2160, gLugiaPokedexText, 256, 0, 721, 19 .string "RAINBOW$", 12 - pokedex_entry 38, 1990, gHoOhPokedexText, 256, 0, 610, 17 + pokedex_entry 38, 1990, gHoOhPokedexText, 256, 0, 610, 17 .string "TIME TRAVEL$", 12 - pokedex_entry 6, 50, gCelebiPokedexText, 393, -10, 256, 0 + pokedex_entry 6, 50, gCelebiPokedexText, 393, -10, 256, 0 .string "WOOD GECKO$", 12 - pokedex_entry 5, 50, gTreeckoPokedexText, 541, 19, 256, 0 + pokedex_entry 5, 50, gTreeckoPokedexText, 541, 19, 256, 0 .string "WOOD GECKO$", 12 - pokedex_entry 9, 216, gGrovylePokedexText, 360, 5, 256, 0 + pokedex_entry 9, 216, gGrovylePokedexText, 360, 5, 256, 0 .string "FOREST$", 12 pokedex_entry 17, 522, gSceptilePokedexText, 256, -1, 275, 2 .string "CHICK$", 12 - pokedex_entry 4, 25, gTorchicPokedexText, 566, 19, 256, 0 + pokedex_entry 4, 25, gTorchicPokedexText, 566, 19, 256, 0 .string "YOUNG FOWL$", 12 pokedex_entry 9, 195, gCombuskenPokedexText, 343, 5, 256, 0 .string "BLAZE$", 12 pokedex_entry 19, 520, gBlazikenPokedexText, 256, 0, 301, 4 .string "MUD FISH$", 12 - pokedex_entry 4, 76, gMudkipPokedexText, 535, 20, 256, 0 + pokedex_entry 4, 76, gMudkipPokedexText, 535, 20, 256, 0 .string "MUD FISH$", 12 pokedex_entry 7, 280, gMarshtompPokedexText, 340, 7, 256, 0 .string "MUD FISH$", 12 @@ -529,91 +529,91 @@ gPokedexEntries:: @ 856B5B0 .string "TINYRACCOON$", 12 pokedex_entry 4, 175, gZigzagoonPokedexText, 560, 22, 256, 0 .string "RUSHING$", 12 - pokedex_entry 5, 325, gLinoonePokedexText, 321, 7, 256, 0 + pokedex_entry 5, 325, gLinoonePokedexText, 321, 7, 256, 0 .string "WORM$", 12 - pokedex_entry 3, 36, gWurmplePokedexText, 711, 24, 256, 0 + pokedex_entry 3, 36, gWurmplePokedexText, 711, 24, 256, 0 .string "COCOON$", 12 - pokedex_entry 6, 100, gSilcoonPokedexText, 431, 19, 256, 0 + pokedex_entry 6, 100, gSilcoonPokedexText, 431, 19, 256, 0 .string "BUTTERFLY$", 12 pokedex_entry 10, 284, gBeautiflyPokedexText, 298, -1, 256, 0 .string "COCOON$", 12 - pokedex_entry 7, 115, gCascoonPokedexText, 391, 20, 256, 0 + pokedex_entry 7, 115, gCascoonPokedexText, 391, 20, 256, 0 .string "POISON MOTH$", 12 - pokedex_entry 12, 316, gDustoxPokedexText, 269, 1, 256, 0 + pokedex_entry 12, 316, gDustoxPokedexText, 269, 1, 256, 0 .string "WATER WEED$", 12 - pokedex_entry 5, 26, gLotadPokedexText, 406, 19, 256, 0 + pokedex_entry 5, 26, gLotadPokedexText, 406, 19, 256, 0 .string "JOLLY$", 12 - pokedex_entry 12, 325, gLombrePokedexText, 277, 9, 256, 0 + pokedex_entry 12, 325, gLombrePokedexText, 277, 9, 256, 0 .string "CAREFREE$", 12 pokedex_entry 15, 550, gLudicoloPokedexText, 256, 0, 268, -1 .string "ACORN$", 12 - pokedex_entry 5, 40, gSeedotPokedexText, 472, 20, 256, 0 + pokedex_entry 5, 40, gSeedotPokedexText, 472, 20, 256, 0 .string "WILY$", 12 - pokedex_entry 10, 280, gNuzleafPokedexText, 299, 10, 256, 0 + pokedex_entry 10, 280, gNuzleafPokedexText, 299, 10, 256, 0 .string "WICKED$", 12 - pokedex_entry 13, 596, gShiftryPokedexText, 290, 4, 256, 0 + pokedex_entry 13, 596, gShiftryPokedexText, 290, 4, 256, 0 .string "TINYSWALLOW$", 12 - pokedex_entry 3, 23, gTaillowPokedexText, 465, 21, 256, 0 + pokedex_entry 3, 23, gTaillowPokedexText, 465, 21, 256, 0 .string "SWALLOW$", 12 - pokedex_entry 7, 198, gSwellowPokedexText, 428, 15, 256, 0 + pokedex_entry 7, 198, gSwellowPokedexText, 428, 15, 256, 0 .string "SEAGULL$", 12 - pokedex_entry 6, 95, gWingullPokedexText, 295, -2, 256, 0 + pokedex_entry 6, 95, gWingullPokedexText, 295, -2, 256, 0 .string "WATER BIRD$", 12 pokedex_entry 12, 280, gPelipperPokedexText, 288, 1, 256, 0 .string "FEELING$", 12 - pokedex_entry 4, 66, gRaltsPokedexText, 457, -3, 256, 0 + pokedex_entry 4, 66, gRaltsPokedexText, 457, -3, 256, 0 .string "EMOTION$", 12 - pokedex_entry 8, 202, gKirliaPokedexText, 354, 0, 256, 0 + pokedex_entry 8, 202, gKirliaPokedexText, 354, 0, 256, 0 .string "EMBRACE$", 12 pokedex_entry 16, 484, gGardevoirPokedexText, 256, 0, 256, 0 .string "POND SKATER$", 12 - pokedex_entry 5, 17, gSurskitPokedexText, 375, 17, 256, 0 + pokedex_entry 5, 17, gSurskitPokedexText, 375, 17, 256, 0 .string "EYEBALL$", 12 pokedex_entry 8, 36, gMasquerainPokedexText, 378, 8, 256, 0 .string "MUSHROOM$", 12 pokedex_entry 4, 45, gShroomishPokedexText, 513, 22, 256, 0 .string "MUSHROOM$", 12 - pokedex_entry 12, 392, gBreloomPokedexText, 324, 6, 256, 0 + pokedex_entry 12, 392, gBreloomPokedexText, 324, 6, 256, 0 .string "SLACKER$", 12 - pokedex_entry 8, 240, gSlakothPokedexText, 291, 16, 256, 0 + pokedex_entry 8, 240, gSlakothPokedexText, 291, 16, 256, 0 .string "WILD MONKEY$", 12 pokedex_entry 14, 465, gVigorothPokedexText, 301, 2, 256, 0 .string "LAZY$", 12 - pokedex_entry 20, 1305, gSlakingPokedexText, 256, 2, 300, 1 + pokedex_entry 20, 1305, gSlakingPokedexText, 256, 2, 300, 1 .string "TRAINEE$", 12 - pokedex_entry 5, 55, gNincadaPokedexText, 405, 21, 256, 0 + pokedex_entry 5, 55, gNincadaPokedexText, 405, 21, 256, 0 .string "NINJA$", 12 - pokedex_entry 8, 120, gNinjaskPokedexText, 383, -9, 256, 0 + pokedex_entry 8, 120, gNinjaskPokedexText, 383, -9, 256, 0 .string "SHED$", 12 pokedex_entry 8, 12, gShedinjaPokedexText, 372, -8, 256, 0 .string "WHISPER$", 12 - pokedex_entry 6, 163, gWhismurPokedexText, 373, 17, 256, 0 + pokedex_entry 6, 163, gWhismurPokedexText, 373, 17, 256, 0 .string "BIG VOICE$", 12 - pokedex_entry 10, 405, gLoudredPokedexText, 356, 10, 256, 0 + pokedex_entry 10, 405, gLoudredPokedexText, 356, 10, 256, 0 .string "LOUD NOISE$", 12 - pokedex_entry 15, 840, gExploudPokedexText, 284, 1, 256, 0 + pokedex_entry 15, 840, gExploudPokedexText, 284, 1, 256, 0 .string "GUTS$", 12 pokedex_entry 10, 864, gMakuhitaPokedexText, 256, 10, 256, 0 .string "ARM THRUST$", 12 pokedex_entry 23, 2538, gHariyamaPokedexText, 256, 0, 343, 7 .string "POLKA DOT$", 12 - pokedex_entry 2, 20, gAzurillPokedexText, 603, 23, 256, 0 + pokedex_entry 2, 20, gAzurillPokedexText, 603, 23, 256, 0 .string "COMPASS$", 12 pokedex_entry 10, 970, gNosepassPokedexText, 256, 9, 289, 3 .string "KITTEN$", 12 - pokedex_entry 6, 110, gSkittyPokedexText, 492, 19, 256, 0 + pokedex_entry 6, 110, gSkittyPokedexText, 492, 19, 256, 0 .string "PRIM$", 12 pokedex_entry 11, 326, gDelcattyPokedexText, 322, 10, 256, 0 .string "DARKNESS$", 12 - pokedex_entry 5, 110, gSableyePokedexText, 451, 17, 256, 0 + pokedex_entry 5, 110, gSableyePokedexText, 451, 17, 256, 0 .string "DECEIVER$", 12 - pokedex_entry 6, 115, gMawilePokedexText, 466, 17, 256, 0 + pokedex_entry 6, 115, gMawilePokedexText, 466, 17, 256, 0 .string "IRON ARMOR$", 12 - pokedex_entry 4, 600, gAronPokedexText, 419, 23, 256, 0 + pokedex_entry 4, 600, gAronPokedexText, 419, 23, 256, 0 .string "IRON ARMOR$", 12 - pokedex_entry 9, 1200, gLaironPokedexText, 275, 12, 256, 0 + pokedex_entry 9, 1200, gLaironPokedexText, 275, 12, 256, 0 .string "IRON ARMOR$", 12 - pokedex_entry 21, 3600, gAggronPokedexText, 256, -1, 350, 6 + pokedex_entry 21, 3600, gAggronPokedexText, 256, -1, 350, 6 .string "MEDITATE$", 12 pokedex_entry 6, 112, gMedititePokedexText, 465, 17, 256, 0 .string "MEDITATE$", 12 @@ -623,61 +623,61 @@ gPokedexEntries:: @ 856B5B0 .string "DISCHARGE$", 12 pokedex_entry 15, 402, gManectricPokedexText, 256, 3, 257, 0 .string "CHEERING$", 12 - pokedex_entry 4, 42, gPluslePokedexText, 515, -9, 256, 0 + pokedex_entry 4, 42, gPluslePokedexText, 515, -9, 256, 0 .string "CHEERING$", 12 - pokedex_entry 4, 42, gMinunPokedexText, 512, -7, 256, 0 + pokedex_entry 4, 42, gMinunPokedexText, 512, -7, 256, 0 .string "FIREFLY$", 12 - pokedex_entry 7, 177, gVolbeatPokedexText, 442, 16, 256, 0 + pokedex_entry 7, 177, gVolbeatPokedexText, 442, 16, 256, 0 .string "FIREFLY$", 12 pokedex_entry 6, 177, gIllumisePokedexText, 572, 19, 256, 0 .string "THORN$", 12 - pokedex_entry 3, 20, gRoseliaPokedexText, 677, 20, 256, 0 + pokedex_entry 3, 20, gRoseliaPokedexText, 677, 20, 256, 0 .string "STOMACH$", 12 - pokedex_entry 4, 103, gGulpinPokedexText, 593, 23, 256, 0 + pokedex_entry 4, 103, gGulpinPokedexText, 593, 23, 256, 0 .string "POISON BAG$", 12 - pokedex_entry 17, 800, gSwalotPokedexText, 256, 6, 345, 3 + pokedex_entry 17, 800, gSwalotPokedexText, 256, 6, 345, 3 .string "SAVAGE$", 12 pokedex_entry 8, 208, gCarvanhaPokedexText, 362, 0, 256, 0 .string "BRUTAL$", 12 pokedex_entry 18, 888, gSharpedoPokedexText, 256, 0, 317, 3 .string "BALL WHALE$", 12 - pokedex_entry 20, 1300, gWailmerPokedexText, 256, 2, 493, 0 + pokedex_entry 20, 1300, gWailmerPokedexText, 256, 2, 493, 0 .string "FLOAT WHALE$", 12 - pokedex_entry 145, 3980, gWailordPokedexText, 256, 0, 1352, 18 + pokedex_entry 145, 3980, gWailordPokedexText, 256, 0, 1352, 18 .string "NUMB$", 12 - pokedex_entry 7, 240, gNumelPokedexText, 342, 17, 256, 0 + pokedex_entry 7, 240, gNumelPokedexText, 342, 17, 256, 0 .string "ERUPTION$", 12 pokedex_entry 19, 2200, gCameruptPokedexText, 256, 7, 345, 6 .string "COAL$", 12 - pokedex_entry 5, 804, gTorkoalPokedexText, 390, 9, 256, 0 + pokedex_entry 5, 804, gTorkoalPokedexText, 390, 9, 256, 0 .string "BOUNCE$", 12 - pokedex_entry 7, 306, gSpoinkPokedexText, 423, 17, 256, 0 + pokedex_entry 7, 306, gSpoinkPokedexText, 423, 17, 256, 0 .string "MANIPULATE$", 12 - pokedex_entry 9, 715, gGrumpigPokedexText, 358, 10, 256, 0 + pokedex_entry 9, 715, gGrumpigPokedexText, 358, 10, 256, 0 .string "SPOT PANDA$", 12 - pokedex_entry 11, 50, gSpindaPokedexText, 321, 4, 256, 0 + pokedex_entry 11, 50, gSpindaPokedexText, 321, 4, 256, 0 .string "ANT PIT$", 12 pokedex_entry 7, 150, gTrapinchPokedexText, 298, 17, 256, 0 .string "VIBRATION$", 12 - pokedex_entry 11, 153, gVibravaPokedexText, 370, 11, 256, 0 + pokedex_entry 11, 153, gVibravaPokedexText, 370, 11, 256, 0 .string "MYSTIC$", 12 - pokedex_entry 20, 820, gFlygonPokedexText, 256, 0, 268, 1 + pokedex_entry 20, 820, gFlygonPokedexText, 256, 0, 268, 1 .string "CACTUS$", 12 - pokedex_entry 4, 513, gCacneaPokedexText, 455, 20, 256, 0 + pokedex_entry 4, 513, gCacneaPokedexText, 455, 20, 256, 0 .string "SCARECROW$", 12 pokedex_entry 13, 774, gCacturnePokedexText, 327, 5, 256, 0 .string "COTTON BIRD$", 12 - pokedex_entry 4, 12, gSwabluPokedexText, 422, -8, 256, 0 + pokedex_entry 4, 12, gSwabluPokedexText, 422, -8, 256, 0 .string "HUMMING$", 12 - pokedex_entry 11, 206, gAltariaPokedexText, 327, 0, 256, 0 + pokedex_entry 11, 206, gAltariaPokedexText, 327, 0, 256, 0 .string "CAT FERRET$", 12 pokedex_entry 13, 403, gZangoosePokedexText, 256, 3, 256, 0 .string "FANG SNAKE$", 12 - pokedex_entry 27, 525, gSeviperPokedexText, 275, 7, 256, 0 + pokedex_entry 27, 525, gSeviperPokedexText, 275, 7, 256, 0 .string "METEORITE$", 12 pokedex_entry 10, 1680, gLunatonePokedexText, 300, 3, 256, 0 .string "METEORITE$", 12 - pokedex_entry 12, 1540, gSolrockPokedexText, 328, 0, 256, 0 + pokedex_entry 12, 1540, gSolrockPokedexText, 328, 0, 256, 0 .string "WHISKERS$", 12 pokedex_entry 4, 19, gBarboachPokedexText, 581, -3, 256, 0 .string "WHISKERS$", 12 @@ -687,90 +687,90 @@ gPokedexEntries:: @ 856B5B0 .string "ROGUE$", 12 pokedex_entry 11, 328, gCrawdauntPokedexText, 365, 9, 256, 0 .string "CLAY DOLL$", 12 - pokedex_entry 5, 215, gBaltoyPokedexText, 457, 21, 256, 0 + pokedex_entry 5, 215, gBaltoyPokedexText, 457, 21, 256, 0 .string "CLAY DOLL$", 12 - pokedex_entry 15, 1080, gClaydolPokedexText, 256, 3, 280, 1 + pokedex_entry 15, 1080, gClaydolPokedexText, 256, 3, 280, 1 .string "SEA LILY$", 12 - pokedex_entry 10, 238, gLileepPokedexText, 305, 8, 256, 0 + pokedex_entry 10, 238, gLileepPokedexText, 305, 8, 256, 0 .string "BARNACLE$", 12 - pokedex_entry 15, 604, gCradilyPokedexText, 267, 0, 256, 0 + pokedex_entry 15, 604, gCradilyPokedexText, 267, 0, 256, 0 .string "OLD SHRIMP$", 12 - pokedex_entry 7, 125, gAnorithPokedexText, 296, 4, 256, 0 + pokedex_entry 7, 125, gAnorithPokedexText, 296, 4, 256, 0 .string "PLATE$", 12 - pokedex_entry 15, 682, gArmaldoPokedexText, 312, 3, 271, 0 + pokedex_entry 15, 682, gArmaldoPokedexText, 312, 3, 271, 0 .string "FISH$", 12 - pokedex_entry 6, 74, gFeebasPokedexText, 423, -4, 256, 0 + pokedex_entry 6, 74, gFeebasPokedexText, 423, -4, 256, 0 .string "TENDER$", 12 - pokedex_entry 62, 1620, gMiloticPokedexText, 256, 0, 360, 7 + pokedex_entry 62, 1620, gMiloticPokedexText, 256, 0, 360, 7 .string "WEATHER$", 12 - pokedex_entry 3, 8, gCastformPokedexText, 435, -5, 256, 0 + pokedex_entry 3, 8, gCastformPokedexText, 435, -5, 256, 0 .string "COLOR SWAP$", 12 - pokedex_entry 10, 220, gKecleonPokedexText, 316, 10, 256, 0 + pokedex_entry 10, 220, gKecleonPokedexText, 316, 10, 256, 0 .string "PUPPET$", 12 - pokedex_entry 6, 23, gShuppetPokedexText, 440, 20, 256, 0 + pokedex_entry 6, 23, gShuppetPokedexText, 440, 20, 256, 0 .string "MARIONETTE$", 12 - pokedex_entry 11, 125, gBanettePokedexText, 262, 9, 256, 0 + pokedex_entry 11, 125, gBanettePokedexText, 262, 9, 256, 0 .string "REQUIEM$", 12 - pokedex_entry 8, 150, gDuskullPokedexText, 406, -4, 256, 0 + pokedex_entry 8, 150, gDuskullPokedexText, 406, -4, 256, 0 .string "BECKON$", 12 pokedex_entry 16, 306, gDusclopsPokedexText, 256, 3, 299, 1 .string "FRUIT$", 12 - pokedex_entry 20, 1000, gTropiusPokedexText, 256, 0, 344, 7 + pokedex_entry 20, 1000, gTropiusPokedexText, 256, 0, 344, 7 .string "WIND CHIME$", 12 pokedex_entry 6, 10, gChimechoPokedexText, 505, 0, 256, 0 .string "DISASTER$", 12 - pokedex_entry 12, 470, gAbsolPokedexText, 301, 3, 256, 0 + pokedex_entry 12, 470, gAbsolPokedexText, 301, 3, 256, 0 .string "BRIGHT$", 12 - pokedex_entry 6, 140, gWynautPokedexText, 484, 19, 256, 0 + pokedex_entry 6, 140, gWynautPokedexText, 484, 19, 256, 0 .string "SNOW HAT$", 12 - pokedex_entry 7, 168, gSnoruntPokedexText, 380, 15, 256, 0 + pokedex_entry 7, 168, gSnoruntPokedexText, 380, 15, 256, 0 .string "FACE$", 12 - pokedex_entry 15, 2565, gGlaliePokedexText, 256, 3, 344, 0 + pokedex_entry 15, 2565, gGlaliePokedexText, 256, 3, 344, 0 .string "CLAP$", 12 - pokedex_entry 8, 395, gSphealPokedexText, 315, 16, 256, 0 + pokedex_entry 8, 395, gSphealPokedexText, 315, 16, 256, 0 .string "BALL ROLL$", 12 - pokedex_entry 11, 876, gSealeoPokedexText, 338, 13, 256, 0 + pokedex_entry 11, 876, gSealeoPokedexText, 338, 13, 256, 0 .string "ICE BREAK$", 12 - pokedex_entry 14, 1506, gWalreinPokedexText, 316, 4, 256, 0 + pokedex_entry 14, 1506, gWalreinPokedexText, 316, 4, 256, 0 .string "BIVALVE$", 12 pokedex_entry 4, 525, gClamperlPokedexText, 691, 22, 256, 0 .string "DEEP SEA$", 12 - pokedex_entry 17, 270, gHuntailPokedexText, 307, 1, 256, 0 + pokedex_entry 17, 270, gHuntailPokedexText, 307, 1, 256, 0 .string "SOUTH SEA$", 12 pokedex_entry 18, 226, gGorebyssPokedexText, 278, 5, 256, 0 .string "LONGEVITY$", 12 pokedex_entry 10, 234, gRelicanthPokedexText, 316, 7, 256, 0 .string "RENDEZVOUS$", 12 - pokedex_entry 6, 87, gLuvdiscPokedexText, 371, 2, 256, 0 + pokedex_entry 6, 87, gLuvdiscPokedexText, 371, 2, 256, 0 .string "ROCK HEAD$", 12 - pokedex_entry 6, 421, gBagonPokedexText, 448, 18, 256, 0 + pokedex_entry 6, 421, gBagonPokedexText, 448, 18, 256, 0 .string "ENDURANCE$", 12 - pokedex_entry 11, 1105, gShelgonPokedexText, 311, 12, 256, 0 + pokedex_entry 11, 1105, gShelgonPokedexText, 311, 12, 256, 0 .string "DRAGON$", 12 pokedex_entry 15, 1026, gSalamencePokedexText, 256, 0, 256, 0 .string "IRON BALL$", 12 - pokedex_entry 6, 952, gBeldumPokedexText, 414, -1, 256, 0 + pokedex_entry 6, 952, gBeldumPokedexText, 414, -1, 256, 0 .string "IRON CLAW$", 12 - pokedex_entry 12, 2025, gMetangPokedexText, 256, 6, 256, 0 + pokedex_entry 12, 2025, gMetangPokedexText, 256, 6, 256, 0 .string "IRON LEG$", 12 pokedex_entry 16, 5500, gMetagrossPokedexText, 256, 4, 447, 9 .string "ROCK PEAK$", 12 pokedex_entry 17, 2300, gRegirockPokedexText, 256, 2, 309, 1 .string "ICEBERG$", 12 - pokedex_entry 18, 1750, gRegicePokedexText, 256, 0, 301, 2 + pokedex_entry 18, 1750, gRegicePokedexText, 256, 0, 301, 2 .string "IRON$", 12 pokedex_entry 19, 2050, gRegisteelPokedexText, 256, 0, 359, 6 .string "EON$", 12 - pokedex_entry 14, 400, gLatiasPokedexText, 304, 3, 256, 0 + pokedex_entry 14, 400, gLatiasPokedexText, 304, 3, 256, 0 .string "EON$", 12 - pokedex_entry 20, 600, gLatiosPokedexText, 256, 0, 294, 3 + pokedex_entry 20, 600, gLatiosPokedexText, 256, 0, 294, 3 .string "SEA BASIN$", 12 - pokedex_entry 45, 3520, gKyogrePokedexText, 256, 0, 614, 13 + pokedex_entry 45, 3520, gKyogrePokedexText, 256, 0, 614, 13 .string "CONTINENT$", 12 - pokedex_entry 35, 9500, gGroudonPokedexText, 256, 0, 515, 14 + pokedex_entry 35, 9500, gGroudonPokedexText, 256, 0, 515, 14 .string "SKY HIGH$", 12 pokedex_entry 70, 2065, gRayquazaPokedexText, 256, 0, 448, 12 .string "WISH$", 12 - pokedex_entry 3, 11, gJirachiPokedexText, 608, -8, 256, 0 + pokedex_entry 3, 11, gJirachiPokedexText, 608, -8, 256, 0 .string "DNA$", 12 - pokedex_entry 17, 608, gDeoxysPokedexText, 256, 0, 290, 2 + pokedex_entry 17, 608, gDeoxysPokedexText, 256, 0, 290, 2 diff --git a/data/pokemon_icon.s b/data/pokemon_icon.s deleted file mode 100644 index 9d6c7ac2e..000000000 --- a/data/pokemon_icon.s +++ /dev/null @@ -1,27 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -@ 857BCA8 - .include "data/graphics/pokemon/icon_table.inc" - -@ 857C388 - .include "data/graphics/pokemon/icon_palette_indices.inc" - -@ 857C540 - .include "data/graphics/pokemon/icon_palette_table.inc" - -gUnknown_0857C570:: @ 857C570 - .incbin "baserom.gba", 0x57c570, 0x44 - -gUnknown_0857C5B4:: @ 857C5B4 - .incbin "baserom.gba", 0x57c5b4, 0x14 - .incbin "baserom.gba", 0x57c5c8, 0x20 - -gUnknown_0857C5E8:: @ 857C5E8 - .incbin "baserom.gba", 0x57c5e8, 0x8 - -gUnknown_0857C5F0:: @ 857C5F0 - .incbin "baserom.gba", 0x57c5f0, 0x18 diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s index 4f2815713..e419db55a 100644 --- a/data/pokemon_storage_system.s +++ b/data/pokemon_storage_system.s @@ -1,23 +1,8 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 - -gUnknown_085716C0:: @ 85716C0 - .incbin "baserom.gba", 0x5716c0, 0x28 - -gUnknown_085716E8:: @ 85716E8 - .incbin "baserom.gba", 0x5716e8, 0x28 - -gUnknown_08571710:: @ 8571710 - .incbin "baserom.gba", 0x571710, 0x24 - -gUnknown_08571734:: @ 8571734 - .incbin "baserom.gba", 0x571734, 0x3 - -gUnknown_08571737:: @ 8571737 - .incbin "baserom.gba", 0x571737, 0x5 + .section .rodata + .align 2, 0 gUnknown_0857173C:: @ 857173C .incbin "baserom.gba", 0x57173c, 0x20 @@ -59,7 +44,13 @@ gUnknown_085724A4:: @ 85724A4 .incbin "baserom.gba", 0x5724a4, 0x18 gUnknown_085724BC:: @ 85724BC - .incbin "baserom.gba", 0x5724bc, 0x238 + .incbin "baserom.gba", 0x5724bc, 0x18 + +gUnknown_085724D4:: @ 85724D4 + .incbin "baserom.gba", 0x5724d4, 0x20 + +gUnknown_085724F4:: @ 85724F4 + .incbin "baserom.gba", 0x5724f4, 0x200 gUnknown_085726F4:: @ 85726F4 .incbin "baserom.gba", 0x5726f4, 0x20 @@ -71,28 +62,126 @@ gUnknown_08572734:: @ 8572734 .incbin "baserom.gba", 0x572734, 0x10 gUnknown_08572744:: @ 8572744 - .incbin "baserom.gba", 0x572744, 0x8 + obj_pal gUnknown_085724D4, 0xDACA gUnknown_0857274C:: @ 857274C - .incbin "baserom.gba", 0x57274c, 0x8 + obj_tiles gUnknown_085724F4, 0x1C0, 5 gUnknown_08572754:: @ 8572754 - .incbin "baserom.gba", 0x572754, 0x18 + spr_template 2, 0xDAC6, gOamData_857286C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_0857276C:: @ 857276C - .incbin "baserom.gba", 0x57276c, 0xf8 + .4byte gUnknown_085EB7EF, 0 + .4byte gUnknown_085EB802, 0 + .4byte gUnknown_085EB81A, 0 + .4byte gUnknown_085EB82F, 0 + .4byte gUnknown_085EB843, 1 + .4byte gUnknown_085EB853, 0 + .4byte gUnknown_085EB866, 0 + .4byte gUnknown_085EB87C, 1 + .4byte gUnknown_085EB88E, 0 + .4byte gUnknown_085EB89F, 0 + .4byte gUnknown_085EB8B5, 4 + .4byte gUnknown_085EB8C6, 6 + .4byte gUnknown_085EB8D3, 0 + .4byte gUnknown_085EB8E6, 0 + .4byte gUnknown_085EB900, 0 + .4byte gUnknown_085EB913, 0 + .4byte gUnknown_085EB92D, 0 + .4byte gUnknown_085EB946, 0 + .4byte gUnknown_085EB960, 0 + .4byte gUnknown_085EB979, 1 + .4byte gUnknown_085EB987, 0 + .4byte gUnknown_085EB9A1, 0 + .4byte gUnknown_085EB9AB, 0 + .4byte gUnknown_085EB843, 7 + .4byte gUnknown_085EB9C3, 0 + .4byte gUnknown_085EB9D6, 7 + .4byte gUnknown_085EB9EE, 0 + .4byte gUnknown_085EB9FF, 0 + .4byte gUnknown_085EBA19, 7 + .4byte gUnknown_085EBA29, 7 + .4byte gUnknown_085EBA38, 0 + + .align 2 gUnknown_08572864:: @ 8572864 - .incbin "baserom.gba", 0x572864, 0x58 + window_template 0, 0x18, 0xB, 5, 4, 0xF, 0x5C + + .align 2 +gOamData_857286C:: @ 857286C + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_8572874:: @ 8572874 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_857287C:: @ 857287C + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_8572884:: @ 8572884 + obj_image_anim_frame 2, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 6, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_8572894:: @ 8572894 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_857289C:: @ 857289C + obj_image_anim_frame 10, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 12, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_85728AC:: @ 85728AC + .4byte gSpriteAnim_857287C + .4byte gSpriteAnim_8572884 + .4byte gSpriteAnim_8572894 + .4byte gSpriteAnim_857289C gUnknown_085728BC:: @ 85728BC - .incbin "baserom.gba", 0x5728bc, 0x18 + spr_template 5, 0xDACA, gOamData_8572874, gSpriteAnimTable_85728AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_085728D4:: @ 85728D4 - .incbin "baserom.gba", 0x5728d4, 0x48 - -gUnknown_0857291C:: @ 857291C - .incbin "baserom.gba", 0x57291c, 0x4c58 + spr_template 0x12, 0xDAC0, gOamData_85728EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_85728EC:: @ 85728EC + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +gSpriteAffineAnim_85728F4:: @ 85728F4 + obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 120 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8572904:: @ 8572904 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_857291C:: @ 857291C + .4byte gSpriteAffineAnim_85728F4 + .4byte gSpriteAffineAnim_8572904 + +gUnknown_08572924:: @ 8572924 + .incbin "baserom.gba", 0x572924, 0x4c50 gUnknown_08577574:: @ 8577574 .incbin "baserom.gba", 0x577574, 0x44 diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s index fc1c79096..d3cb51fca 100644 --- a/data/pokemon_summary_screen.s +++ b/data/pokemon_summary_screen.s @@ -121,7 +121,12 @@ gUnknown_0861F2C0:: @ 861F2C0 .incbin "baserom.gba", 0x61f2c0, 0x18 gUnknown_0861F2D8:: @ 861F2D8 - .incbin "baserom.gba", 0x61f2d8, 0x30 + .4byte gMenuText_Use, sub_81C61E0 + .4byte gMenuText_Toss, sub_81C62C4 + .4byte gMenuText_Give, sub_81C6648 + .4byte gText_Cancel2, sub_81C6258 + .4byte gMenuText_Use, sub_81C679C + .4byte gText_EmptyString2, NULL gUnknown_0861F308:: @ 861F308 .incbin "baserom.gba", 0x61f308, 0x4 @@ -136,7 +141,8 @@ gUnknown_0861F310:: @ 861F310 .incbin "baserom.gba", 0x61f310, 0x4 gUnknown_0861F314:: @ 861F314 - .incbin "baserom.gba", 0x61f314, 0x8 + .4byte sub_81C654C + .4byte sub_81C63D0 gUnknown_0861F31C:: @ 861F31C .incbin "baserom.gba", 0x61f31c, 0xc diff --git a/data/pokenav.s b/data/pokenav.s index 8e8e24b65..89ec3c3a6 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -4,7 +4,117 @@ .section .rodata gUnknown_0861F3EC:: @ 861F3EC - .incbin "baserom.gba", 0x61f3ec, 0x618 + .4byte sub_81C9298 + .4byte sub_81C941C + .4byte sub_81C9924 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C9298 + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C9338 + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C9368 + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C92CC + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81C9304 + .4byte sub_81C941C + .4byte sub_81C9940 + .4byte sub_81C9990 + .4byte sub_81C99C0 + .4byte sub_81C9430 + .4byte sub_81C99D4 + .4byte sub_81CC4D4 + .4byte sub_81CC554 + .4byte sub_81CC5F4 + .4byte sub_81CC62C + .4byte sub_81CC65C + .4byte sub_81CC524 + .4byte sub_81CC670 + .4byte sub_81CCFD8 + .4byte sub_81CD070 + .4byte sub_81CDDD4 + .4byte sub_81CDE2C + .4byte sub_81CDE64 + .4byte sub_81CD1C0 + .4byte sub_81CECA0 + .4byte sub_81CEF3C + .4byte sub_81CEFDC + .4byte sub_81CF330 + .4byte sub_81CF3A0 + .4byte sub_81CF3D0 + .4byte sub_81CEFF0 + .4byte sub_81CF3F8 + .4byte sub_81CD024 + .4byte sub_81CD070 + .4byte sub_81CDDD4 + .4byte sub_81CDE2C + .4byte sub_81CDE64 + .4byte sub_81CD1C0 + .4byte sub_81CECA0 + .4byte sub_81CEF98 + .4byte sub_81CEFDC + .4byte sub_81CF368 + .4byte sub_81CF3A0 + .4byte sub_81CF3D0 + .4byte sub_81CEFF0 + .4byte sub_81CF3F8 + .4byte sub_81CAAE8 + .4byte sub_81CAB24 + .4byte sub_81CB260 + .4byte sub_81CB29C + .4byte sub_81CB2CC + .4byte sub_81CAB38 + .4byte sub_81CB2E0 + .4byte sub_81CF9BC + .4byte sub_81CFA34 + .4byte sub_81CFDD0 + .4byte sub_81CFE40 + .4byte sub_81CFE70 + .4byte sub_81CFA48 + .4byte sub_81CFE98 + .4byte sub_81D0450 + .4byte sub_81D04A0 + .4byte sub_81D0978 + .4byte sub_81D09B0 + .4byte sub_81D09E0 + .4byte sub_81D04B8 + .4byte sub_81D09F4 + .4byte sub_81CFA04 + .4byte sub_81CFA34 + .4byte sub_81CFE08 + .4byte sub_81CFE40 + .4byte sub_81CFE70 + .4byte sub_81CFA48 + .4byte sub_81CFE98 + +gUnknown_0861F590:: @ 861F590 + .incbin "baserom.gba", 0x61F590, 0x20 + +gUnknown_0861F5B0:: @ 861F5B0 + .incbin "baserom.gba", 0x61f5b0, 0x454 gUnknown_0861FA04:: @ 861FA04 .incbin "baserom.gba", 0x61fa04, 0x4 @@ -13,31 +123,86 @@ gUnknown_0861FA08:: @ 861FA08 .incbin "baserom.gba", 0x61fa08, 0x10 gUnknown_0861FA18:: @ 861FA18 - .incbin "baserom.gba", 0x61fa18, 0x30 + .4byte gUnknown_085EBED5 + .4byte gUnknown_085EBED9 + .4byte gUnknown_085EBEE9 + .4byte gUnknown_085EBEF9 + .4byte gUnknown_085EBF0E + .4byte gUnknown_085EBF22 + .4byte gUnknown_085EBF39 + .4byte gUnknown_085EBF49 + .4byte gUnknown_085EBF57 + .4byte gUnknown_085EBF60 + .4byte gUnknown_085EBF73 + .4byte gUnknown_085EBF84 gUnknown_0861FA48:: @ 861FA48 .incbin "baserom.gba", 0x61fa48, 0x4 gUnknown_0861FA4C:: @ 861FA4C - .incbin "baserom.gba", 0x61fa4c, 0x8 + obj_tiles gUnknown_0861F5B0, 0x1000, 0 gUnknown_0861FA54:: @ 861FA54 - .incbin "baserom.gba", 0x61fa54, 0x10 + obj_pal gUnknown_0861F590, 0 + obj_pal NULL, 0 gUnknown_0861FA64:: @ 861FA64 - .incbin "baserom.gba", 0x61fa64, 0x8 + obj_tiles gUnknown_08DC87F8, 0xC00, 2 gUnknown_0861FA6C:: @ 861FA6C - .incbin "baserom.gba", 0x61fa6c, 0x30 + obj_tiles gUnknown_08DC864C, 0x20, 3 + obj_tiles gUnknown_08DC8208, 0x20, 1 + obj_tiles gUnknown_08DC8AA4, 0x20, 2 + obj_tiles gUnknown_08DC84AC, 0x20, 4 + obj_tiles gUnknown_08DC87F8, 0x20, 0 + obj_tiles gUnknown_08DC87F8, 0x40, 0 gUnknown_0861FA9C:: @ 861FA9C - .incbin "baserom.gba", 0x61fa9c, 0x68 + .4byte gUnknown_08DC8F64, 1 + .4byte gUnknown_08DC8C14, 1 + .4byte gUnknown_08DC8E64, 4 + .4byte gUnknown_08DC7FA0, 1 + .4byte gUnknown_08DC838C, 2 + .4byte gUnknown_08DC80DC, 0 + .4byte gUnknown_08DC8D50, 0 + +gUnknown_0861FAD4:: @ 861FAD4 + .2byte 0x0 + .2byte 0x8000 + .2byte 0x0 + .2byte 0x0 + +gUnknown_0861FADC:: + obj_image_anim_frame 0, 8 + obj_image_anim_frame 16, 8 + obj_image_anim_frame 32, 8 + obj_image_anim_frame 48, 8 + obj_image_anim_frame 64, 8 + obj_image_anim_frame 80, 8 + obj_image_anim_frame 96, 8 + obj_image_anim_frame 112, 8 + obj_image_anim_jump 0 + +gUnknown_0861FB00:: + .4byte gUnknown_0861FADC gUnknown_0861FB04:: @ 861FB04 - .incbin "baserom.gba", 0x61fb04, 0x28 + spr_template 0, 0, gUnknown_0861FAD4, gUnknown_0861FB00, NULL, gDummySpriteAffineAnimTable, sub_81C7CB4 + +gUnknown_0861FB1C:: + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x400 + .2byte 0x0 + +gUnknown_0861FB24:: + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x400 + .2byte 0x0 gUnknown_0861FB2C:: @ 861FB2C - .incbin "baserom.gba", 0x61fb2c, 0x18 + spr_template 2, 1, gUnknown_0861FB1C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_0861FB44:: @ 861FB44 .incbin "baserom.gba", 0x61fb44, 0xa0 @@ -118,7 +283,20 @@ gUnknown_086202CC:: @ 86202CC .incbin "baserom.gba", 0x6202cc, 0x8 gUnknown_086202D4:: @ 86202D4 - .incbin "baserom.gba", 0x6202d4, 0x38 + .4byte gUnknown_085EBCC5 + .4byte gUnknown_085EBCE8 + .4byte gUnknown_085EBD01 + .4byte gUnknown_085EBD1C + .4byte gUnknown_085EBD34 + .4byte gUnknown_085EBD83 + .4byte gUnknown_085EBDA2 + .4byte gUnknown_085EBDBF + .4byte gUnknown_085EBDDB + .4byte gUnknown_085EBDEE + .4byte gUnknown_085EBE06 + .4byte gUnknown_085EBE19 + .4byte gUnknown_085EBE2D + .4byte gUnknown_085EBE41 gUnknown_0862030C:: @ 862030C .incbin "baserom.gba", 0x62030c, 0x3 @@ -133,10 +311,1026 @@ gUnknown_0862036C:: @ 862036C .incbin "baserom.gba", 0x62036c, 0x18 gUnknown_08620384:: @ 8620384 - .incbin "baserom.gba", 0x620384, 0x1ca4 + .incbin "baserom.gba", 0x620384, 0xC + +gUnknown_08620390:: @ 8620390 + .string "Becalm fighting emotions.$" + +gUnknown_086203AA:: @ 86203AA + .string "Fragrant GRASS POKéMON.$" + +gUnknown_086203C2:: @ 86203C2 + .string "Soothing aromas make the$" + +gUnknown_086203DB:: @ 86203DB + .string "body and mind healthy.$" + +gUnknown_086203F2:: @ 86203F2 + .string "I’m not very good at this.$" + +gUnknown_0862040D:: @ 862040D + .string "Ruin-exploration partners.$" + +gUnknown_08620428:: @ 8620428 + .string "I am searching for undersea$" + +gUnknown_08620444:: @ 8620444 + .string "ruins and relics.$" + +gUnknown_08620456:: @ 8620456 + .string "Overwhelm with power!$" + +gUnknown_0862046C:: @ 862046C + .string "Craggy ROCK POKéMON.$" + +gUnknown_08620481:: @ 8620481 + .string "In search of ancient lore,$" + +gUnknown_0862049C:: @ 862049C + .string "I travel the world.$" + +gUnknown_086204B0:: @ 86204B0 + .string "I’m going to try hard!$" + +gUnknown_086204C7:: @ 86204C7 + .string "Good swimmer POKéMON.$" + +gUnknown_086204DD:: @ 86204DD + .string "I wish I could swim without$" + +gUnknown_086204F9:: @ 86204F9 + .string "using an inner tube.$" + +gUnknown_0862050E:: @ 862050E + .string "I don’t know. I’ll try hard.$" + +gUnknown_0862052B:: @ 862052B + .string "WATER POKéMON are buddies.$" + +gUnknown_08620546:: @ 8620546 + .string "It’s not like I can’t swim.$" + +gUnknown_08620562:: @ 8620562 + .string "I just like my inner tube.$" + +gUnknown_0862057D:: @ 862057D + .string "We split our duties.$" + +gUnknown_08620592:: @ 8620592 + .string "We like friendly POKéMON.$" + +gUnknown_086205AC:: @ 86205AC + .string "We enjoy POKéMON together$" + +gUnknown_086205C6:: @ 86205C6 + .string "as sister and brother.$" + +gUnknown_086205DD:: @ 86205DD + .string "I finish with power moves!$" + +gUnknown_086205F8:: @ 86205F8 + .string "A mix of different types.$" + +gUnknown_08620612:: @ 8620612 + .string "I aim to become the ultimate$" + +gUnknown_0862062F:: @ 862062F + .string "TRAINER!$" + +gUnknown_08620638:: @ 8620638 + .string "Exploit the foe’s weakness.$" + +gUnknown_08620654:: @ 8620654 + .string "Balance is crucial.$" + +gUnknown_08620668:: @ 8620668 + .string "My goal is to become the$" + +gUnknown_08620681:: @ 8620681 + .string "POKéMON CHAMPION.$" + +gUnknown_08620693:: @ 8620693 + .string "Upset the opponent.$" + +gUnknown_086206A7:: @ 86206A7 + .string "Type doesn’t matter.$" + +gUnknown_086206BC:: @ 86206BC + .string "I’m a top student at the$" + +gUnknown_086206D5:: @ 86206D5 + .string "TRAINER’S SCHOOL.$" + +gUnknown_086206E7:: @ 86206E7 + .string "Slow, steady suffering.$" + +gUnknown_086206FF:: @ 86206FF + .string "Scary to meet at night.$" + +gUnknown_08620717:: @ 8620717 + .string "I see things that others$" + +gUnknown_08620730:: @ 8620730 + .string "can’t see...$" + +gUnknown_0862073D:: @ 862073D + .string "Anything to win.$" + +gUnknown_0862074E:: @ 862074E + .string "Gorgeous type!$" + +gUnknown_0862075D:: @ 862075D + .string "I have a pool specially for$" + +gUnknown_08620779:: @ 8620779 + .string "my POKéMON at home.$" + +gUnknown_0862078D:: @ 862078D + .string "You’ll fall under my spell!$" + +gUnknown_086207A9:: @ 86207A9 + .string "Mature WATER type.$" + +gUnknown_086207BC:: @ 86207BC + .string "I dream of cruising around$" + +gUnknown_086207D7:: @ 86207D7 + .string "the world on a luxury liner.$" + +gUnknown_086207F4:: @ 86207F4 + .string "I’ll lead you astray.$" + +gUnknown_0862080A:: @ 862080A + .string "Cute, of course.$" + +gUnknown_0862081B:: @ 862081B + .string "I love the SAFARI ZONE.$" + +gUnknown_08620833:: @ 8620833 + .string "I seem to end up there.$" + +gUnknown_0862084B:: @ 862084B + .string "Strategy? Who needs it?$" + +gUnknown_08620863:: @ 8620863 + .string "I spent big money on it!$" + +gUnknown_0862087C:: @ 862087C + .string "I, being rich, sleep in a$" + +gUnknown_08620896:: @ 8620896 + .string "custom POKéMON bed.$" + +gUnknown_086208AA:: @ 86208AA + .string "Wrestle down with power.$" + +gUnknown_086208C3:: @ 86208C3 + .string "Took all night to catch.$" + +gUnknown_086208DC:: @ 86208DC + .string "Big, burly, and buff$" + +gUnknown_086208F1:: @ 86208F1 + .string "POKéMON are the best...$" + +gUnknown_08620909:: @ 8620909 + .string "Ram at full speed!$" + +gUnknown_0862091C:: @ 862091C + .string "Funky WATER type!$" + +gUnknown_0862092E:: @ 862092E + .string "If I can’t be out swimming,$" + +gUnknown_0862094A:: @ 862094A + .string "I’ll be pumping weights.$" + +gUnknown_08620963:: @ 8620963 + .string "Grand slam pummeling!$" + +gUnknown_08620979:: @ 8620979 + .string "FIGHTING type.$" + +gUnknown_08620988:: @ 8620988 + .string "Not to brag, but I can bust$" + +gUnknown_086209A4:: @ 86209A4 + .string "ten roof tiles!$" + +gUnknown_086209B4:: @ 86209B4 + .string "Witness karate power!$" + +gUnknown_086209CA:: @ 86209CA + .string "My partners in training!$" + +gUnknown_086209E3:: @ 86209E3 + .string "Let us discuss matters of$" + +gUnknown_086209FD:: @ 86209FD + .string "the world with bare fists!$" + +gUnknown_08620A18:: @ 8620A18 + .string "Rock to stunning sounds!$" + +gUnknown_08620A31:: @ 8620A31 + .string "Electric-and-sound combo!$" + +gUnknown_08620A4B:: @ 8620A4B + .string "My compositions will shock$" + +gUnknown_08620A66:: @ 8620A66 + .string "you and stun you!$" + +gUnknown_08620A78:: @ 8620A78 + .string "I’ll electrify you!$" + +gUnknown_08620A8C:: @ 8620A8C + .string "They’re ELECTRIC!$" + +gUnknown_08620A9E:: @ 8620A9E + .string "I want to make people cry$" + +gUnknown_08620AB8:: @ 8620AB8 + .string "with songs from my heart.$" + +gUnknown_08620AD2:: @ 8620AD2 + .string "Burn it all down!$" + +gUnknown_08620AE4:: @ 8620AE4 + .string "Burn-inducing POKéMON.$" + +gUnknown_08620AFB:: @ 8620AFB + .string "When you light a campfire,$" + +gUnknown_08620B16:: @ 8620B16 + .string "be sure there’s some water.$" + +gUnknown_08620B32:: @ 8620B32 + .string "Hang in and be tenacious!$" + +gUnknown_08620B4C:: @ 8620B4C + .string "I’ll raise any POKéMON.$" + +gUnknown_08620B64:: @ 8620B64 + .string "POKéMON raised in the wild$" + +gUnknown_08620B7F:: @ 8620B7F + .string "grow strong!$" + +gUnknown_08620B8C:: @ 8620B8C + .string "Our love lets us prevail.$" + +gUnknown_08620BA6:: @ 8620BA6 + .string "We’ve had them for years.$" + +gUnknown_08620BC0:: @ 8620BC0 + .string "Married 50 years, we’ve$" + +gUnknown_08620BD8:: @ 8620BD8 + .string "devotedly raised POKéMON.$" + +gUnknown_08620BF2:: @ 8620BF2 + .string "Attack in waves!$" + +gUnknown_08620C03:: @ 8620C03 + .string "BUG POKéMON are cool.$" + +gUnknown_08620C19:: @ 8620C19 + .string "I go into the forest every$" + +gUnknown_08620C34:: @ 8620C34 + .string "day to catch BUG POKéMON.$" + +gUnknown_08620C4E:: @ 8620C4E + .string "Daze and confuse!$" + +gUnknown_08620C60:: @ 8620C60 + .string "Ones with weird powers.$" + +gUnknown_08620C78:: @ 8620C78 + .string "I can see through exactly$" + +gUnknown_08620C92:: @ 8620C92 + .string "what you’re thinking!$" + +gUnknown_08620CA8:: @ 8620CA8 + .string "Battle at full power.$" + +gUnknown_08620CBE:: @ 8620CBE + .string "POKéMON of many mysteries.$" + +gUnknown_08620CD9:: @ 8620CD9 + .string "When we spoke, I was really$" + +gUnknown_08620CF5:: @ 8620CF5 + .string "using telepathy.$" + +gUnknown_08620D06:: @ 8620D06 + .string "Calm and collected.$" + +gUnknown_08620D1A:: @ 8620D1A + .string "POKéMON of distinction.$" + +gUnknown_08620D32:: @ 8620D32 + .string "We enjoy a spot of tea$" + +gUnknown_08620D49:: @ 8620D49 + .string "every day. It’s imported.$" + +gUnknown_08620D63:: @ 8620D63 + .string "I use my head to battle.$" + +gUnknown_08620D7C:: @ 8620D7C + .string "I love any kind of POKéMON!$" + +gUnknown_08620D98:: @ 8620D98 + .string "My daddy gives me spending$" + +gUnknown_08620DB3:: @ 8620DB3 + .string "money if I ace a test.$" + +gUnknown_08620DCA:: @ 8620DCA + .string "My knowledge rules!$" + +gUnknown_08620DDE:: @ 8620DDE + .string "Any smart POKéMON!$" + +gUnknown_08620DF1:: @ 8620DF1 + .string "I want to be a POKéMON$" + +gUnknown_08620E08:: @ 8620E08 + .string "researcher in the future.$" + +gUnknown_08620E22:: @ 8620E22 + .string "We talk it over first.$" + +gUnknown_08620E39:: @ 8620E39 + .string "POKéMON that we both like.$" + +gUnknown_08620E54:: @ 8620E54 + .string "We’re senior and junior$" + +gUnknown_08620E6C:: @ 8620E6C + .string "students into POKéMON!$" + +gUnknown_08620E83:: @ 8620E83 + .string "Go for it, my dears!$" + +gUnknown_08620E98:: @ 8620E98 + .string "I have no likes or dislikes.$" + +gUnknown_08620EB5:: @ 8620EB5 + .string "While out shopping for$" + +gUnknown_08620ECC:: @ 8620ECC + .string "supper, I battle too.$" + +gUnknown_08620EE2:: @ 8620EE2 + .string "I battle with love!$" + +gUnknown_08620EF6:: @ 8620EF6 + .string "A POKéMON raised with love!$" + +gUnknown_08620F12:: @ 8620F12 + .string "It’s important to build$" + +gUnknown_08620F2A:: @ 8620F2A + .string "trust with your POKéMON.$" + +gUnknown_08620F43:: @ 8620F43 + .string "I see through your moves!$" + +gUnknown_08620F5D:: @ 8620F5D + .string "The essence of FIGHTING.$" + +gUnknown_08620F76:: @ 8620F76 + .string "I’m not ready to give way$" + +gUnknown_08620F90:: @ 8620F90 + .string "to the young yet!$" + +gUnknown_08620FA2:: @ 8620FA2 + .string "Attack while defending.$" + +gUnknown_08620FBA:: @ 8620FBA + .string "The FIGHTING type.$" + +gUnknown_08620FCD:: @ 8620FCD + .string "Being old, I have my own$" + +gUnknown_08620FE6:: @ 8620FE6 + .string "style of battling.$" + +gUnknown_08620FF9:: @ 8620FF9 + .string "I do what I can.$" + +gUnknown_0862100A:: @ 862100A + .string "I use different types.$" + +gUnknown_08621021:: @ 8621021 + .string "I’m going to keep working$" + +gUnknown_0862103B:: @ 862103B + .string "until I beat a GYM LEADER.$" + +gUnknown_08621056:: @ 8621056 + .string "I battle patiently.$" + +gUnknown_0862106A:: @ 862106A + .string "WATER POKéMON to battle!$" + +gUnknown_08621083:: @ 8621083 + .string "I’m the world’s only guy to$" + +gUnknown_0862109F:: @ 862109F + .string "catch a huge POKéMON!$" + +gUnknown_086210B5:: @ 86210B5 + .string "Exploit the environment!$" + +gUnknown_086210CE:: @ 86210CE + .string "All hail the WATER type!$" + +gUnknown_086210E7:: @ 86210E7 + .string "I won’t be beaten by some$" + +gUnknown_08621101:: @ 8621101 + .string "beach bum SWIMMER!$" + +gUnknown_08621114:: @ 8621114 + .string "Speed above all!$" + +gUnknown_08621125:: @ 8621125 + .string "I use a speedy POKéMON.$" + +gUnknown_0862113D:: @ 862113D + .string "A marathon is a challenge$" + +gUnknown_08621157:: @ 8621157 + .string "against your own self.$" + +gUnknown_0862116E:: @ 862116E + .string "Defense is crucial.$" + +gUnknown_08621182:: @ 8621182 + .string "My POKéMON is solid.$" + +gUnknown_08621197:: @ 8621197 + .string "I started this for dieting,$" + +gUnknown_086211B3:: @ 86211B3 + .string "but I got right into it.$" + +gUnknown_086211CC:: @ 86211CC + .string "Strike before stricken!$" + +gUnknown_086211E4:: @ 86211E4 + .string "A fast-running POKéMON!$" + +gUnknown_086211FC:: @ 86211FC + .string "If you ran and ran, you’d$" + +gUnknown_08621216:: @ 8621216 + .string "become one with the wind.$" + +gUnknown_08621230:: @ 8621230 + .string "All-out offensive!$" + +gUnknown_08621243:: @ 8621243 + .string "WATER POKéMON rule!$" + +gUnknown_08621257:: @ 8621257 + .string "I must swim over 6 miles$" + +gUnknown_08621270:: @ 8621270 + .string "every day.$" + +gUnknown_0862127B:: @ 862127B + .string "Push and push again!$" + +gUnknown_08621290:: @ 8621290 + .string "The strength of STEEL.$" + +gUnknown_086212A7:: @ 86212A7 + .string "If you’re sweating, get$" + +gUnknown_086212BF:: @ 86212BF + .string "fluids into you regularly.$" + +gUnknown_086212DA:: @ 86212DA + .string "Draw the power of WATER.$" + +gUnknown_086212F3:: @ 86212F3 + .string "Toughened WATER POKéMON.$" + +gUnknown_0862130C:: @ 862130C + .string "Training POKéMON is good,$" + +gUnknown_08621326:: @ 8621326 + .string "but don’t neglect yourself.$" + +gUnknown_08621342:: @ 8621342 + .string "It’s about POKéMON power!$" + +gUnknown_0862135C:: @ 862135C + .string "See the power of DRAGONS!$" + +gUnknown_08621376:: @ 8621376 + .string "I’ll become legendary as the$" + +gUnknown_08621393:: @ 8621393 + .string "strongest one day!$" + +gUnknown_086213A6:: @ 86213A6 + .string "I’ll show you my technique!$" + +gUnknown_086213C2:: @ 86213C2 + .string "Elegantly wheeling BIRDS.$" + +gUnknown_086213DC:: @ 86213DC + .string "My BIRD POKéMON, deliver my$" + +gUnknown_086213F8:: @ 86213F8 + .string "love to that girl!$" + +gUnknown_0862140B:: @ 862140B + .string "You’ll suffer from poison!$" + +gUnknown_08621426:: @ 8621426 + .string "Poisonous POKéMON.$" +gUnknown_08621439:: @ 8621439 + .string "I undertake training so$" + +gUnknown_08621451:: @ 8621451 + .string "that I may become a ninja.$" + +gUnknown_0862146C:: @ 862146C + .string "The first strike wins!$" + +gUnknown_08621483:: @ 8621483 + .string "Speedy FIGHTING type.$" + +gUnknown_08621499:: @ 8621499 + .string "If my POKéMON lose,$" + +gUnknown_086214AD:: @ 86214AD + .string "I’ll carry on the fight!$" + +gUnknown_086214C6:: @ 86214C6 + .string "Go, go, my POKéMON!$" + +gUnknown_086214DA:: @ 86214DA + .string "I’ll raise anything.$" + +gUnknown_086214EF:: @ 86214EF + .string "UV rays are your skin’s$" + +gUnknown_08621507:: @ 8621507 + .string "enemy. Get protected.$" + +gUnknown_0862151D:: @ 862151D + .string "No mercy!$" + +gUnknown_08621527:: @ 8621527 + .string "Cute WATER POKéMON.$" + +gUnknown_0862153B:: @ 862153B + .string "I have too many fans.$" + +gUnknown_08621551:: @ 8621551 + .string "I was interviewed on TV.$" + +gUnknown_0862156A:: @ 862156A + .string "I think about this & that.$" + +gUnknown_08621585:: @ 8621585 + .string "I like all POKéMON.$" + +gUnknown_08621599:: @ 8621599 + .string "What lies beyond that$" + +gUnknown_086215AF:: @ 86215AF + .string "yonder hill?$" + +gUnknown_086215BC:: @ 86215BC + .string "We battle together!$" + +gUnknown_086215D0:: @ 86215D0 + .string "We train together!$" + +gUnknown_086215E3:: @ 86215E3 + .string "We like the same POKéMON,$" + +gUnknown_086215FD:: @ 86215FD + .string "but different desserts.$" + +gUnknown_08621615:: @ 8621615 + .string "I force things with power!$" + +gUnknown_08621630:: @ 8621630 + .string "WATER and FIGHTING types.$" + +gUnknown_0862164A:: @ 862164A + .string "Seamen are rough spirits!$" + +gUnknown_08621664:: @ 8621664 + .string "Any complaints?$" + +gUnknown_08621674:: @ 8621674 + .string "Up for a fight anytime!$" + +gUnknown_0862168C:: @ 862168C + .string "WATER POKéMON are my faves!$" + +gUnknown_086216A8:: @ 86216A8 + .string "If you want to shout loud,$" + +gUnknown_086216C3:: @ 86216C3 + .string "suck in air with your belly!$" + +gUnknown_086216E0:: @ 86216E0 + .string "Protect POKéMON from harm.$" + +gUnknown_086216FB:: @ 86216FB + .string "I love rare POKéMON.$" + +gUnknown_08621710:: @ 8621710 + .string "I want to collect all the$" + +gUnknown_0862172A:: @ 862172A + .string "world’s rare POKéMON.$" + +gUnknown_08621740:: @ 8621740 + .string "I count on power.$" + +gUnknown_08621752:: @ 8621752 + .string "POKéMON are my children.$" + +gUnknown_0862176B:: @ 862176B + .string "It takes knowledge and$" + +gUnknown_08621782:: @ 8621782 + .string "love to raise POKéMON.$" + +gUnknown_08621799:: @ 8621799 + .string "Full-on attack!$" + +gUnknown_086217A9:: @ 86217A9 + .string "Anything. I’ll raise it.$" + +gUnknown_086217C2:: @ 86217C2 + .string "I give them {POKEBLOCK}S for$" + +gUnknown_086217D9:: @ 86217D9 + .string "going after CONTEST titles.$" + +gUnknown_086217F5:: @ 86217F5 + .string "I raise POKéMON with care.$" + +gUnknown_08621810:: @ 8621810 + .string "Fun-to-raise POKéMON.$" + +gUnknown_08621826:: @ 8621826 + .string "Treat every POKéMON you$" + +gUnknown_0862183E:: @ 862183E + .string "meet with respect.$" + +gUnknown_08621851:: @ 8621851 + .string "I believe in my POKéMON.$" + +gUnknown_0862186A:: @ 862186A + .string "I like strong POKéMON.$" + +gUnknown_08621881:: @ 8621881 + .string "I’m training for rescue$" + +gUnknown_08621899:: @ 8621899 + .string "work with my POKéMON.$" + +gUnknown_086218AF:: @ 86218AF + .string "Attack in waves!$" + +gUnknown_086218C0:: @ 86218C0 + .string "I use different types.$" + +gUnknown_086218D7:: @ 86218D7 + .string "Those who destroy nature$" + +gUnknown_086218F0:: @ 86218F0 + .string "must never be forgiven!$" + +gUnknown_08621908:: @ 8621908 + .string "I’ll show you some guts!$" + +gUnknown_08621921:: @ 8621921 + .string "Cute POKéMON are my faves!$" + +gUnknown_0862193C:: @ 862193C + .string "After a battle, I always$" + +gUnknown_08621955:: @ 8621955 + .string "bathe with my POKéMON.$" + +gUnknown_0862196C:: @ 862196C + .string "Lightning-fast attack!$" + +gUnknown_08621983:: @ 8621983 + .string "BUG POKéMON are number 1!$" + +gUnknown_0862199D:: @ 862199D + .string "If you want to catch BUG$" + +gUnknown_086219B6:: @ 86219B6 + .string "POKéMON, wake up early.$" + +gUnknown_086219CE:: @ 86219CE + .string "I battle with power.$" + +gUnknown_086219E3:: @ 86219E3 + .string "Hard-bodied POKéMON.$" + +gUnknown_086219F8:: @ 86219F8 + .string "I’ve been planning a month$" + +gUnknown_08621A13:: @ 8621A13 + .string "for today’s hike.$" + +gUnknown_08621A25:: @ 8621A25 + .string "I like it hot!$" + +gUnknown_08621A34:: @ 8621A34 + .string "Hot POKéMON!$" + +gUnknown_08621A41:: @ 8621A41 + .string "As much as I love POKéMON,$" + +gUnknown_08621A5C:: @ 8621A5C + .string "I surely like hiking!$" + +gUnknown_08621A72:: @ 8621A72 + .string "Lovey-dovey strategy!$" + +gUnknown_08621A88:: @ 8621A88 + .string "Lovey-dovey POKéMON!$" + +gUnknown_08621A9D:: @ 8621A9D + .string "We’re lovey-dovey!$" + +gUnknown_08621AB0:: @ 8621AB0 + .string "Forever lovey-dovey!$" + +gUnknown_08621AC5:: @ 8621AC5 + .string "We let it all hang out.$" + +gUnknown_08621ADD:: @ 8621ADD + .string "The 1st POKéMON I caught.$" + +gUnknown_08621AF7:: @ 8621AF7 + .string "POKéMON and I have grown$" + +gUnknown_08621B10:: @ 8621B10 + .string "stronger together.$" + +gUnknown_08621B23:: @ 8621B23 + .string "ROCK-type power attack.$" + +gUnknown_08621B3B:: @ 8621B3B + .string "I prefer rock-hard POKéMON.$" + +gUnknown_08621B57:: @ 8621B57 + .string "A LEADER of a big GYM bears$" + +gUnknown_08621B73:: @ 8621B73 + .string "a lot of responsibility.$" + +gUnknown_08621B8C:: @ 8621B8C + .string "Direct physical action!$" + +gUnknown_08621BA4:: @ 8621BA4 + .string "FIGHTING POKéMON rule!$" + +gUnknown_08621BBB:: @ 8621BBB + .string "The world awaits me as the$" + +gUnknown_08621BD6:: @ 8621BD6 + .string "next big wave!$" + +gUnknown_08621BE5:: @ 8621BE5 + .string "I choose to electrify.$" + +gUnknown_08621BFC:: @ 8621BFC + .string "Get shocked by electricity!$" + +gUnknown_08621C18:: @ 8621C18 + .string "One must never throw a$" + +gUnknown_08621C2F:: @ 8621C2F + .string "match. Even I must not.$" + +gUnknown_08621C47:: @ 8621C47 + .string "Battle aggressively.$" + +gUnknown_08621C5C:: @ 8621C5C + .string "Burn with passion!$" + +gUnknown_08621C6F:: @ 8621C6F + .string "Completely wash away daily$" + +gUnknown_08621C8A:: @ 8621C8A + .string "fatigue in hot springs!$" + +gUnknown_08621CA2:: @ 8621CA2 + .string "I flexibly adapt my style.$" + +gUnknown_08621CBD:: @ 8621CBD + .string "Grown in a balanced manner.$" + +gUnknown_08621CD9:: @ 8621CD9 + .string "I walk the 30 minutes from$" + +gUnknown_08621CF4:: @ 8621CF4 + .string "home to here every day.$" + +gUnknown_08621D0C:: @ 8621D0C + .string "I take advantage of speed.$" + +gUnknown_08621D27:: @ 8621D27 + .string "Graceful sky dancers.$" + +gUnknown_08621D3D:: @ 8621D3D + .string "The ultimate would be to$" + +gUnknown_08621D56:: @ 8621D56 + .string "live as one with nature.$" + +gUnknown_08621D6F:: @ 8621D6F + .string "We battle in cooperation.$" + +gUnknown_08621D89:: @ 8621D89 + .string "Always friendly POKéMON.$" + +gUnknown_08621DA2:: @ 8621DA2 + .string "Papa has trouble telling$" + +gUnknown_08621DBB:: @ 8621DBB + .string "the two of us apart!$" + +gUnknown_08621DD0:: @ 8621DD0 + .string "I use splendid waterpower.$" + +gUnknown_08621DEB:: @ 8621DEB + .string "POKéMON of elegance!$" + +gUnknown_08621E00:: @ 8621E00 + .string "The adulation of beautiful$" + +gUnknown_08621E1B:: @ 8621E1B + .string "ladies fills me with energy!$" + +gUnknown_08621E38:: @ 8621E38 + .string "Offense over defense!$" + +gUnknown_08621E4E:: @ 8621E4E + .string "The DARK side’s beauties.$" + +gUnknown_08621E68:: @ 8621E68 + .string "They said I was a punk, but$" + +gUnknown_08621E84:: @ 8621E84 + .string "I’m one of the ELITE FOUR!$" + +gUnknown_08621E9F:: @ 8621E9F + .string "Confuse and confound.$" + +gUnknown_08621EB5:: @ 8621EB5 + .string "There’s nothing definite.$" + +gUnknown_08621ECF:: @ 8621ECF + .string "I wonder how my grandma at$" + +gUnknown_08621EEA:: @ 8621EEA + .string "MT. PYRE is doing?$" + +gUnknown_08621EFD:: @ 8621EFD + .string "I use items for help.$" + +gUnknown_08621F13:: @ 8621F13 + .string "Flaming passion in icy cold!$" + +gUnknown_08621F30:: @ 8621F30 + .string "The ICE type can be better$" + +gUnknown_08621F4B:: @ 8621F4B + .string "trained in this hot land.$" + +gUnknown_08621F65:: @ 8621F65 + .string "Harness strong abilities.$" + +gUnknown_08621F7F:: @ 8621F7F + .string "The raw power of DRAGONS!$" + +gUnknown_08621F99:: @ 8621F99 + .string "I dedicate myself to the$" + +gUnknown_08621FB2:: @ 8621FB2 + .string "POKéMON that saved me.$" + +gUnknown_08621FC9:: @ 8621FC9 + .string "Dignity and respect.$" + +gUnknown_08621FDE:: @ 8621FDE + .string "I prefer POKéMON of grace.$" + +gUnknown_08621FF9:: @ 8621FF9 + .string "I represent beauty as$" + +gUnknown_0862200F:: @ 862200F + .string "well as intelligence.$" + +.align 2 + +@ strategy, mon text, introduction1, introduction2 gUnknown_08622028:: @ 8622028 - .incbin "baserom.gba", 0x622028, 0x4e0 + .4byte gUnknown_08620390, gUnknown_086203AA, gUnknown_086203C2, gUnknown_086203DB + .4byte gUnknown_086203F2, gUnknown_0862040D, gUnknown_08620428, gUnknown_08620444 + .4byte gUnknown_08620456, gUnknown_0862046C, gUnknown_08620481, gUnknown_0862049C + .4byte gUnknown_086204B0, gUnknown_086204C7, gUnknown_086204DD, gUnknown_086204F9 + .4byte gUnknown_0862050E, gUnknown_0862052B, gUnknown_08620546, gUnknown_08620562 + .4byte gUnknown_0862057D, gUnknown_08620592, gUnknown_086205AC, gUnknown_086205C6 + .4byte gUnknown_086205DD, gUnknown_086205F8, gUnknown_08620612, gUnknown_0862062F + .4byte gUnknown_08620638, gUnknown_08620654, gUnknown_08620668, gUnknown_08620681 + .4byte gUnknown_08620693, gUnknown_086206A7, gUnknown_086206BC, gUnknown_086206D5 + .4byte gUnknown_086206E7, gUnknown_086206FF, gUnknown_08620717, gUnknown_08620730 + .4byte gUnknown_0862073D, gUnknown_0862074E, gUnknown_0862075D, gUnknown_08620779 + .4byte gUnknown_0862078D, gUnknown_086207A9, gUnknown_086207BC, gUnknown_086207D7 + .4byte gUnknown_086207F4, gUnknown_0862080A, gUnknown_0862081B, gUnknown_08620833 + .4byte gUnknown_0862084B, gUnknown_08620863, gUnknown_0862087C, gUnknown_08620896 + .4byte gUnknown_086208AA, gUnknown_086208C3, gUnknown_086208DC, gUnknown_086208F1 + .4byte gUnknown_08620909, gUnknown_0862091C, gUnknown_0862092E, gUnknown_0862094A + .4byte gUnknown_08620963, gUnknown_08620979, gUnknown_08620988, gUnknown_086209A4 + .4byte gUnknown_086209B4, gUnknown_086209CA, gUnknown_086209E3, gUnknown_086209FD + .4byte gUnknown_08620A18, gUnknown_08620A31, gUnknown_08620A4B, gUnknown_08620A66 + .4byte gUnknown_08620A78, gUnknown_08620A8C, gUnknown_08620A9E, gUnknown_08620AB8 + .4byte gUnknown_08620AD2, gUnknown_08620AE4, gUnknown_08620AFB, gUnknown_08620B16 + .4byte gUnknown_08620B32, gUnknown_08620B4C, gUnknown_08620B64, gUnknown_08620B7F + .4byte gUnknown_08620B8C, gUnknown_08620BA6, gUnknown_08620BC0, gUnknown_08620BD8 + .4byte gUnknown_08620BF2, gUnknown_08620C03, gUnknown_08620C19, gUnknown_08620C34 + .4byte gUnknown_08620C4E, gUnknown_08620C60, gUnknown_08620C78, gUnknown_08620C92 + .4byte gUnknown_08620CA8, gUnknown_08620CBE, gUnknown_08620CD9, gUnknown_08620CF5 + .4byte gUnknown_08620D06, gUnknown_08620D1A, gUnknown_08620D32, gUnknown_08620D49 + .4byte gUnknown_08620D63, gUnknown_08620D7C, gUnknown_08620D98, gUnknown_08620DB3 + .4byte gUnknown_08620DCA, gUnknown_08620DDE, gUnknown_08620DF1, gUnknown_08620E08 + .4byte gUnknown_08620E22, gUnknown_08620E39, gUnknown_08620E54, gUnknown_08620E6C + .4byte gUnknown_08620E83, gUnknown_08620E98, gUnknown_08620EB5, gUnknown_08620ECC + .4byte gUnknown_08620EE2, gUnknown_08620EF6, gUnknown_08620F12, gUnknown_08620F2A + .4byte gUnknown_08620F43, gUnknown_08620F5D, gUnknown_08620F76, gUnknown_08620F90 + .4byte gUnknown_08620FA2, gUnknown_08620FBA, gUnknown_08620FCD, gUnknown_08620FE6 + .4byte gUnknown_08620FF9, gUnknown_0862100A, gUnknown_08621021, gUnknown_0862103B + .4byte gUnknown_08621056, gUnknown_0862106A, gUnknown_08621083, gUnknown_0862109F + .4byte gUnknown_086210B5, gUnknown_086210CE, gUnknown_086210E7, gUnknown_08621101 + .4byte gUnknown_08621114, gUnknown_08621125, gUnknown_0862113D, gUnknown_08621157 + .4byte gUnknown_0862116E, gUnknown_08621182, gUnknown_08621197, gUnknown_086211B3 + .4byte gUnknown_086211CC, gUnknown_086211E4, gUnknown_086211FC, gUnknown_08621216 + .4byte gUnknown_08621230, gUnknown_08621243, gUnknown_08621257, gUnknown_08621270 + .4byte gUnknown_0862127B, gUnknown_08621290, gUnknown_086212A7, gUnknown_086212BF + .4byte gUnknown_086212DA, gUnknown_086212F3, gUnknown_0862130C, gUnknown_08621326 + .4byte gUnknown_08621342, gUnknown_0862135C, gUnknown_08621376, gUnknown_08621393 + .4byte gUnknown_086213A6, gUnknown_086213C2, gUnknown_086213DC, gUnknown_086213F8 + .4byte gUnknown_0862140B, gUnknown_08621426, gUnknown_08621439, gUnknown_08621451 + .4byte gUnknown_0862146C, gUnknown_08621483, gUnknown_08621499, gUnknown_086214AD + .4byte gUnknown_086214C6, gUnknown_086214DA, gUnknown_086214EF, gUnknown_08621507 + .4byte gUnknown_0862151D, gUnknown_08621527, gUnknown_0862153B, gUnknown_08621551 + .4byte gUnknown_0862156A, gUnknown_08621585, gUnknown_08621599, gUnknown_086215AF + .4byte gUnknown_086215BC, gUnknown_086215D0, gUnknown_086215E3, gUnknown_086215FD + .4byte gUnknown_08621615, gUnknown_08621630, gUnknown_0862164A, gUnknown_08621664 + .4byte gUnknown_08621674, gUnknown_0862168C, gUnknown_086216A8, gUnknown_086216C3 + .4byte gUnknown_086216E0, gUnknown_086216FB, gUnknown_08621710, gUnknown_0862172A + .4byte gUnknown_08621740, gUnknown_08621752, gUnknown_0862176B, gUnknown_08621782 + .4byte gUnknown_08621799, gUnknown_086217A9, gUnknown_086217C2, gUnknown_086217D9 + .4byte gUnknown_086217F5, gUnknown_08621810, gUnknown_08621826, gUnknown_0862183E + .4byte gUnknown_08621851, gUnknown_0862186A, gUnknown_08621881, gUnknown_08621899 + .4byte gUnknown_086218AF, gUnknown_086218C0, gUnknown_086218D7, gUnknown_086218F0 + .4byte gUnknown_08621908, gUnknown_08621921, gUnknown_0862193C, gUnknown_08621955 + .4byte gUnknown_0862196C, gUnknown_08621983, gUnknown_0862199D, gUnknown_086219B6 + .4byte gUnknown_086219CE, gUnknown_086219E3, gUnknown_086219F8, gUnknown_08621A13 + .4byte gUnknown_08621A25, gUnknown_08621A34, gUnknown_08621A41, gUnknown_08621A5C + .4byte gUnknown_08621A72, gUnknown_08621A88, gUnknown_08621A9D, gUnknown_08621AB0 + .4byte gUnknown_08621AC5, gUnknown_08621ADD, gUnknown_08621AF7, gUnknown_08621B10 + .4byte gUnknown_08621B23, gUnknown_08621B3B, gUnknown_08621B57, gUnknown_08621B73 + .4byte gUnknown_08621B8C, gUnknown_08621BA4, gUnknown_08621BBB, gUnknown_08621BD6 + .4byte gUnknown_08621BE5, gUnknown_08621BFC, gUnknown_08621C18, gUnknown_08621C2F + .4byte gUnknown_08621C47, gUnknown_08621C5C, gUnknown_08621C6F, gUnknown_08621C8A + .4byte gUnknown_08621CA2, gUnknown_08621CBD, gUnknown_08621CD9, gUnknown_08621CF4 + .4byte gUnknown_08621D0C, gUnknown_08621D27, gUnknown_08621D3D, gUnknown_08621D56 + .4byte gUnknown_08621D6F, gUnknown_08621D89, gUnknown_08621DA2, gUnknown_08621DBB + .4byte gUnknown_08621DD0, gUnknown_08621DEB, gUnknown_08621E00, gUnknown_08621E1B + .4byte gUnknown_08621E38, gUnknown_08621E4E, gUnknown_08621E68, gUnknown_08621E84 + .4byte gUnknown_08621E9F, gUnknown_08621EB5, gUnknown_08621ECF, gUnknown_08621EEA + .4byte gUnknown_08621EFD, gUnknown_08621F13, gUnknown_08621F30, gUnknown_08621F4B + .4byte gUnknown_08621F65, gUnknown_08621F7F, gUnknown_08621F99, gUnknown_08621FB2 + .4byte gUnknown_08621FC9, gUnknown_08621FDE, gUnknown_08621FF9, gUnknown_0862200F gUnknown_08622508:: @ 8622508 .incbin "baserom.gba", 0x622508, 0x2 @@ -151,7 +1345,10 @@ gUnknown_08622530:: @ 8622530 .incbin "baserom.gba", 0x622530, 0xa4 gUnknown_086225D4:: @ 86225D4 - .incbin "baserom.gba", 0x6225d4, 0x10c + .incbin "baserom.gba", 0x6225d4, 0xC4 + +gUnknown_08622698:: @ 8622698 + .incbin "baserom.gba", 0x622698, 0x48 gUnknown_086226E0:: @ 86226E0 .incbin "baserom.gba", 0x6226e0, 0x20 @@ -172,7 +1369,22 @@ gUnknown_08622794:: @ 8622794 .incbin "baserom.gba", 0x622794, 0x4 gUnknown_08622798:: @ 8622798 - .incbin "baserom.gba", 0x622798, 0x40 + .4byte NULL + .4byte sub_81CB510 + .4byte sub_81CB588 + .4byte sub_81CB600 + .4byte sub_81CB678 + .4byte sub_81CB6F0 + .4byte sub_81CB734 + .4byte sub_81CB75C + .4byte sub_81CB7A0 + .4byte sub_81CB824 + .4byte sub_81CB888 + .4byte sub_81CB93C + .4byte sub_81CBAD4 + .4byte sub_81CB9C8 + .4byte sub_81CBA68 + .4byte sub_81CBB74 gUnknown_086227D8:: @ 86227D8 .incbin "baserom.gba", 0x6227d8, 0x8 @@ -181,7 +1393,9 @@ gUnknown_086227E0:: @ 86227E0 .incbin "baserom.gba", 0x6227e0, 0x8 gUnknown_086227E8:: @ 86227E8 - .incbin "baserom.gba", 0x6227e8, 0xc + .4byte gUnknown_085EC017 + .4byte gUnknown_085EC01C + .4byte gUnknown_085EC022 gUnknown_086227F4:: @ 86227F4 .incbin "baserom.gba", 0x6227f4, 0x14 @@ -193,40 +1407,151 @@ gUnknown_08622810:: @ 8622810 .incbin "baserom.gba", 0x622810, 0x8 gUnknown_08622818:: @ 8622818 - .incbin "baserom.gba", 0x622818, 0x18 + obj_pal gUnknown_08622698, 12 + obj_pal NULL, 0 + +gUnknown_08622828:: @ 8622828 + .2byte 0x8000 + .2byte 0x0 + .2byte 0x400 + .2byte 0x0 gUnknown_08622830:: @ 8622830 - .incbin "baserom.gba", 0x622830, 0x20 + spr_template 7, 12, gUnknown_08622828, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81CC34C + +gUnknown_08622848:: @ 8622848 + .2byte 0x0 + .2byte 0xC000 + .2byte 0x400 + .2byte 0x0 gUnknown_08622850:: @ 8622850 - .incbin "baserom.gba", 0x622850, 0x18 + spr_template 8, 13, gUnknown_08622848, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08622868:: @ 8622868 .incbin "baserom.gba", 0x622868, 0x20 gUnknown_08622888:: @ 8622888 - .incbin "baserom.gba", 0x622888, 0x850 + .incbin "baserom.gba", 0x622888, 0x1F4 + +gUnknown_08622A7C:: @ 8622A7C + .incbin "baserom.gba", 0x622a7c, 0x44 + +gUnknown_08622AC0:: @ 8622AC0 + .incbin "baserom.gba", 0x622ac0, 0x48 + +gUnknown_08622B08:: @ 8622B08 + .incbin "baserom.gba", 0x622b08, 0x50 + +gUnknown_08622B58:: @ 8622B58 + .incbin "baserom.gba", 0x622b58, 0x60 + +gUnknown_08622BB8:: @ 8622BB8 + .incbin "baserom.gba", 0x622bb8, 0x4C + +gUnknown_08622C04:: @ 8622C04 + .incbin "baserom.gba", 0x622c04, 0x54 + +gUnknown_08622C58:: @ 8622C58 + .incbin "baserom.gba", 0x622c58, 0x54 + +gUnknown_08622CAC:: @ 8622CAC + .incbin "baserom.gba", 0x622cac, 0x40 + +gUnknown_08622CEC:: @ 8622CEC + .incbin "baserom.gba", 0x622cec, 0x58 + +gUnknown_08622D44:: @ 8622D44 + .incbin "baserom.gba", 0x622d44, 0x54 + +gUnknown_08622D98:: @ 8622D98 + .incbin "baserom.gba", 0x622d98, 0x30 + +gUnknown_08622DC8:: @ 8622DC8 + .incbin "baserom.gba", 0x622dc8, 0x4C + +gUnknown_08622E14:: @ 8622E14 + .incbin "baserom.gba", 0x622e14, 0x58 + +gUnknown_08622E6C:: @ 8622E6C + .incbin "baserom.gba", 0x622e6c, 0x30 + +gUnknown_08622E9C:: @ 8622E9C + .incbin "baserom.gba", 0x622e9c, 0x38 + +gUnknown_08622ED4:: @ 8622ED4 + .incbin "baserom.gba", 0x622ed4, 0x40 + +gUnknown_08622F14:: @ 8622F14 + .incbin "baserom.gba", 0x622f14, 0x48 + +gUnknown_08622F5C:: @ 8622F5C + .incbin "baserom.gba", 0x622f5c, 0x44 + +gUnknown_08622FA0:: @ 8622FA0 + .incbin "baserom.gba", 0x622fa0, 0x38 + +gUnknown_08622FD8:: @ 8622FD8 + .incbin "baserom.gba", 0x622fd8, 0x48 + +gUnknown_08623020:: @ 8623020 + .incbin "baserom.gba", 0x623020, 0x5C + +gUnknown_0862307C:: @ 862307C + .incbin "baserom.gba", 0x62307c, 0x5C gUnknown_086230D8:: @ 86230D8 .incbin "baserom.gba", 0x6230d8, 0xc gUnknown_086230E4:: @ 86230E4 - .incbin "baserom.gba", 0x6230e4, 0x14 + .4byte NULL + .4byte sub_81CC848 + .4byte sub_81CC878 + .4byte sub_81CC8D8 + .4byte sub_81CC95C gUnknown_086230F8:: @ 86230F8 - .incbin "baserom.gba", 0x6230f8, 0x8 + obj_tiles gUnknown_08DC9208, 0x800, 6 gUnknown_08623100:: @ 8623100 - .incbin "baserom.gba", 0x623100, 0x10 + obj_pal gUnknown_08DC91E8, 11 + obj_pal NULL, 0 gUnknown_08623110:: @ 8623110 .incbin "baserom.gba", 0x623110, 0x8 gUnknown_08623118:: @ 8623118 - .incbin "baserom.gba", 0x623118, 0xb8 + .4byte 0, gUnknown_08622E6C + .4byte 1, gUnknown_08622D98 + .4byte 2, gUnknown_08622E9C + .4byte 3, gUnknown_08622A7C + .4byte 4, gUnknown_08622AC0 + .4byte 5, gUnknown_08622FA0 + .4byte 6, gUnknown_08622CAC + .4byte 7, gUnknown_0862307C + .4byte 8, gUnknown_08622B58 + .4byte 0x10008, gUnknown_08622BB8 + .4byte 9, gUnknown_08622D44 + .4byte 0x10009, gUnknown_08622CEC + .4byte 0xA, gUnknown_08622C04 + .4byte 0x1000A, gUnknown_08622C58 + .4byte 0xB, gUnknown_08622B08 + .4byte 0xC, gUnknown_08622E14 + .4byte 0x1000C, gUnknown_08622DC8 + .4byte 0xD, gUnknown_08623020 + .4byte 0x1000D, gUnknown_08622FD8 + .4byte 0xE, gUnknown_08622ED4 + .4byte 0xF, gUnknown_08622F14 + .4byte 0x1000F, gUnknown_08622F5C + +gUnknown_086231C8:: @ 86231C8 + .2byte 0x4000 + .2byte 0x4000 + .2byte 0x400 + .2byte 0x0 gUnknown_086231D0:: @ 86231D0 - .incbin "baserom.gba", 0x6231d0, 0x18 + spr_template 6, 11, gUnknown_086231C8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81CCEF4 gUnknown_086231E8:: @ 86231E8 .incbin "baserom.gba", 0x6231e8, 0x20 @@ -259,13 +1584,22 @@ gUnknown_0862337C:: @ 862337C .incbin "baserom.gba", 0x62337c, 0x8 gUnknown_08623384:: @ 8623384 - .incbin "baserom.gba", 0x623384, 0x1c + .4byte NULL + .4byte sub_81CE37C + .4byte sub_81CE2D0 + .4byte sub_81CE4D8 + .4byte sub_81CE5E4 + .4byte sub_81CE6BC + .4byte sub_81CE700 gUnknown_086233A0:: @ 86233A0 .incbin "baserom.gba", 0x6233a0, 0x14 gUnknown_086233B4:: @ 86233B4 - .incbin "baserom.gba", 0x6233b4, 0x10 + .4byte sub_81CF134 + .4byte sub_81CF1C4 + .4byte sub_81CF1D8 + .4byte sub_81CF278 gUnknown_086233C4:: @ 86233C4 .incbin "baserom.gba", 0x6233c4, 0x20 @@ -286,7 +1620,13 @@ gUnknown_08623594:: @ 8623594 .incbin "baserom.gba", 0x623594, 0x4 gUnknown_08623598:: @ 8623598 - .incbin "baserom.gba", 0x623598, 0x1c + .4byte NULL + .4byte sub_81CF578 + .4byte sub_81CF5F0 + .4byte sub_81CF668 + .4byte sub_81CF6E0 + .4byte sub_81CF758 + .4byte sub_81CF798 gUnknown_086235B4:: @ 86235B4 .incbin "baserom.gba", 0x6235b4, 0x8 @@ -301,7 +1641,9 @@ gUnknown_086235D4:: @ 86235D4 .incbin "baserom.gba", 0x6235d4, 0x4 gUnknown_086235D8:: @ 86235D8 - .incbin "baserom.gba", 0x6235d8, 0xc + .4byte sub_81CFB8C + .4byte sub_81CFC2C + .4byte sub_81CFC40 gUnknown_086235E4:: @ 86235E4 .incbin "baserom.gba", 0x6235e4, 0x20 @@ -322,7 +1664,13 @@ gUnknown_086237B4:: @ 86237B4 .incbin "baserom.gba", 0x6237b4, 0x4 gUnknown_086237B8:: @ 86237B8 - .incbin "baserom.gba", 0x6237b8, 0x1c + .4byte NULL + .4byte sub_81CFFFC + .4byte sub_81D0074 + .4byte sub_81D00EC + .4byte sub_81D0164 + .4byte sub_81D01DC + .4byte sub_81D021C gUnknown_086237D4:: @ 86237D4 .incbin "baserom.gba", 0x6237d4, 0x8 @@ -346,19 +1694,39 @@ gUnknown_086237F8:: @ 86237F8 .include "data/text/gift_ribbon_descriptions.inc" gUnknown_08623FF8:: @ 8623FF8 - .incbin "baserom.gba", 0x623ff8, 0xa0 + .incbin "baserom.gba", 0x623ff8, 0x20 + +gUnknown_08624018:: @ 8624018 + .incbin "baserom.gba", 0x624018, 0x20 + +gUnknown_08624038:: @ 8624038 + .incbin "baserom.gba", 0x624038, 0x20 + +gUnknown_08624058:: @ 8624058 + .incbin "baserom.gba", 0x624058, 0x20 + +gUnknown_08624078:: @ 8624078 + .incbin "baserom.gba", 0x624078, 0x20 gUnknown_08624098:: @ 8624098 - .incbin "baserom.gba", 0x624098, 0x20 + .incbin "baserom.gba", 0x624098, 0x20 gUnknown_086240B8:: @ 86240B8 - .incbin "baserom.gba", 0x6240b8, 0xae0 + .incbin "baserom.gba", 0x6240b8, 0x1C8 + +gUnknown_08624280:: @ 8624280 + .incbin "baserom.gba", 0x624280, 0x918 gUnknown_08624B98:: @ 8624B98 .incbin "baserom.gba", 0x624b98, 0x8 gUnknown_08624BA0:: @ 8624BA0 - .incbin "baserom.gba", 0x624ba0, 0x18 + .4byte NULL + .4byte sub_81D0C84 + .4byte sub_81D0D2C + .4byte sub_81D0D8C + .4byte sub_81D0E00 + .4byte sub_81D0C54 gUnknown_08624BB8:: @ 8624BB8 .incbin "baserom.gba", 0x624bb8, 0x8 @@ -385,37 +1753,156 @@ gUnknown_08624BF8:: @ 8624BF8 .incbin "baserom.gba", 0x624bf8, 0x80 gUnknown_08624C78:: @ 8624C78 - .incbin "baserom.gba", 0x624c78, 0x8 + obj_tiles gUnknown_08624280, 0x1800, 9 gUnknown_08624C80:: @ 8624C80 - .incbin "baserom.gba", 0x624c80, 0x84 + obj_pal gUnknown_08623FF8, 15 + obj_pal gUnknown_08624018, 16 + obj_pal gUnknown_08624038, 17 + obj_pal gUnknown_08624058, 18 + obj_pal gUnknown_08624078, 19 + obj_pal NULL, 0 + +gUnknown_08624CB0:: @ 8624CB0 + .incbin "baserom.gba", 0x624cb0, 0x54 gUnknown_08624D04:: @ 8624D04 - .incbin "baserom.gba", 0x624d04, 0x5a4 + .incbin "baserom.gba", 0x624d04, 0x78 + +gUnknown_08624D7C:: @ 8624D7C + .incbin "baserom.gba", 0x624d7c, 0x60 + +gUnknown_08624DDC:: @ 8624DDC + .incbin "baserom.gba", 0x624ddc, 0x14 + +gUnknown_08624DF0:: @ 8624DF0 + .incbin "baserom.gba", 0x624df0, 0x2C + +gUnknown_08624E1C:: @ 8624E1C + .incbin "baserom.gba", 0x624e1c, 0x50 + +gUnknown_08624E6C:: @ 8624E6C + .incbin "baserom.gba", 0x624e6c, 0x90 + +gUnknown_08624EFC:: @ 8624EFC + .incbin "baserom.gba", 0x624efc, 0x90 + +gUnknown_08624F8C:: @ 8624F8C + .incbin "baserom.gba", 0x624f8c, 0x60 + +gUnknown_08624FEC:: @ 8624FEC + .incbin "baserom.gba", 0x624fec, 0x54 + +gUnknown_08625040:: @ 8625040 + .incbin "baserom.gba", 0x625040, 0x38 + +gUnknown_08625078:: @ 8625078 + .incbin "baserom.gba", 0x625078, 0x3C + +gUnknown_086250B4:: @ 86250B4 + .incbin "baserom.gba", 0x6250b4, 0x3C + +gUnknown_086250F0:: @ 86250F0 + .incbin "baserom.gba", 0x6250f0, 0x3C + +gUnknown_0862512C:: @ 862512C + .incbin "baserom.gba", 0x62512c, 0x3C + +gUnknown_08625168:: @ 8625168 + .incbin "baserom.gba", 0x625168, 0x3C + +gUnknown_086251A4:: @ 86251A4 + .incbin "baserom.gba", 0x6251a4, 0x3C + +gUnknown_086251E0:: @ 86251E0 + .incbin "baserom.gba", 0x6251e0, 0x24 + +gUnknown_08625204:: @ 8625204 + .incbin "baserom.gba", 0x625204, 0x24 + +gUnknown_08625228:: @ 8625228 + .incbin "baserom.gba", 0x625228, 0x24 + +gUnknown_0862524C:: @ 862524C + .incbin "baserom.gba", 0x62524c, 0x24 + +gUnknown_08625270:: @ 8625270 + .incbin "baserom.gba", 0x625270, 0x24 + +gUnknown_08625294:: @ 8625294 + .incbin "baserom.gba", 0x625294, 0x14 gUnknown_086252A8:: @ 86252A8 - .incbin "baserom.gba", 0x6252a8, 0x54 + .4byte gUnknown_08624D7C + .4byte gUnknown_08624DF0 + .4byte gUnknown_08624F8C + .4byte gUnknown_08624EFC + .4byte gUnknown_08624FEC + .4byte gUnknown_08624DDC + .4byte gUnknown_08624E1C + .4byte gUnknown_08624E6C + .4byte gUnknown_08625040 + .4byte gUnknown_08625078 + .4byte gUnknown_086250B4 + .4byte gUnknown_086250F0 + .4byte gUnknown_0862512C + .4byte gUnknown_08625168 + .4byte gUnknown_086251A4 + .4byte gUnknown_086251E0 + .4byte gUnknown_08625204 + .4byte gUnknown_08625228 + .4byte gUnknown_0862524C + .4byte gUnknown_08625270 + .4byte gUnknown_08625294 gUnknown_086252FC:: @ 86252FC - .incbin "baserom.gba", 0x6252fc, 0x14 + .4byte sub_81D1628 + .4byte sub_81D164C + .4byte sub_81D1670 + .4byte sub_81D1694 + .4byte sub_81D16CC gUnknown_08625310:: @ 8625310 - .incbin "baserom.gba", 0x625310, 0x14 + .4byte sub_81D1714 + .4byte sub_81D1718 + .4byte sub_81D171C + .4byte sub_81D1750 + .4byte sub_81D1754 gUnknown_08625324:: @ 8625324 - .incbin "baserom.gba", 0x625324, 0x14 + .4byte sub_81D178C + .4byte sub_81D1790 + .4byte sub_81D17C0 + .4byte sub_81D17E0 + .4byte sub_81D17E4 gUnknown_08625338:: @ 8625338 - .incbin "baserom.gba", 0x625338, 0x14 + .4byte sub_81D1840 + .4byte sub_81D1844 + .4byte sub_81D1848 + .4byte sub_81D184C + .4byte sub_81D1850 gUnknown_0862534C:: @ 862534C - .incbin "baserom.gba", 0x62534c, 0x14 + .4byte sub_81D1888 + .4byte sub_81D188C + .4byte sub_81D1890 + .4byte sub_81D1894 + .4byte sub_81D1898 gUnknown_08625360:: @ 8625360 - .incbin "baserom.gba", 0x625360, 0x14 + .4byte sub_81D18D0 + .4byte sub_81D18DC + .4byte sub_81D18FC + .4byte sub_81D1908 + .4byte sub_81D1914 gUnknown_08625374:: @ 8625374 - .incbin "baserom.gba", 0x625374, 0x14 + .4byte sub_81D1AB0 + .4byte sub_81D1ABC + .4byte sub_81D1ADC + .4byte sub_81D1AF4 + .4byte sub_81D1B00 gUnknown_08625388:: @ 8625388 .incbin "baserom.gba", 0x625388, 0x60 @@ -475,7 +1962,12 @@ gUnknown_08625B2C:: @ 8625B2C .incbin "baserom.gba", 0x625b2c, 0x28 gUnknown_08625B54:: @ 8625B54 - .incbin "baserom.gba", 0x625b54, 0x18 + .4byte gUnknown_085EEA46 + .4byte gUnknown_085EEA4E + .4byte gUnknown_085EEA55 + .4byte gUnknown_085EEA63 + .4byte gUnknown_085EEA6B + .4byte gUnknown_085EEA5D gUnknown_08625B6C:: @ 8625B6C .incbin "baserom.gba", 0x625b6c, 0x520 @@ -502,10 +1994,30 @@ gUnknown_0862A5F8:: @ 862A5F8 .incbin "baserom.gba", 0x62a5f8, 0x20 gUnknown_0862A618:: @ 862A618 - .incbin "baserom.gba", 0x62a618, 0x48 + .4byte sub_81D581C + .4byte sub_81D58D8 + .4byte sub_81D5924 + .4byte sub_81D59D0 + .4byte sub_81D5A70 + .4byte sub_81D5AB4 + .4byte sub_81D5AD0 + .4byte sub_81D5B2C + .4byte sub_81D5BBC + .4byte sub_81D5C00 + .4byte sub_81D5C5C + .4byte sub_81D62B4 + .4byte sub_81D64AC + .4byte sub_81D64DC + .4byte sub_81D64FC + .4byte sub_81D6518 + .4byte sub_81D6568 + .4byte sub_81D65A0 gUnknown_0862A660:: @ 862A660 - .incbin "baserom.gba", 0x62a660, 0x10 + .4byte gUnknown_085EB32D + .4byte gUnknown_085EB33E + .4byte gUnknown_085EB350 + .4byte gUnknown_085EB361 gUnknown_0862A670:: @ 862A670 .incbin "baserom.gba", 0x62a670, 0x18 diff --git a/data/rayquaza_scene.s b/data/rayquaza_scene.s deleted file mode 100644 index 51a285285..000000000 --- a/data/rayquaza_scene.s +++ /dev/null @@ -1,160 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_0862A6A0:: @ 862A6A0 - .incbin "baserom.gba", 0x62a6a0, 0x8c - -gUnknown_0862A72C:: @ 862A72C - .incbin "baserom.gba", 0x62a72c, 0x24 - -gUnknown_0862A750:: @ 862A750 - .incbin "baserom.gba", 0x62a750, 0x24 - -gUnknown_0862A774:: @ 862A774 - .incbin "baserom.gba", 0x62a774, 0xa8 - -gUnknown_0862A81C:: @ 862A81C - .incbin "baserom.gba", 0x62a81c, 0x30 - -gUnknown_0862A84C:: @ 862A84C - .incbin "baserom.gba", 0x62a84c, 0x18 - -gUnknown_0862A864:: @ 862A864 - .incbin "baserom.gba", 0x62a864, 0x18 - -gUnknown_0862A87C:: @ 862A87C - .incbin "baserom.gba", 0x62a87c, 0xc - -gUnknown_0862A888:: @ 862A888 - .incbin "baserom.gba", 0x62a888, 0x3c - -gUnknown_0862A8C4:: @ 862A8C4 - .incbin "baserom.gba", 0x62a8c4, 0x8 - -gUnknown_0862A8CC:: @ 862A8CC - .incbin "baserom.gba", 0x62a8cc, 0x8 - -gUnknown_0862A8D4:: @ 862A8D4 - .incbin "baserom.gba", 0x62a8d4, 0x24 - -gUnknown_0862A8F8:: @ 862A8F8 - .incbin "baserom.gba", 0x62a8f8, 0x8 - -gUnknown_0862A900:: @ 862A900 - .incbin "baserom.gba", 0x62a900, 0x24 - -gUnknown_0862A924:: @ 862A924 - .incbin "baserom.gba", 0x62a924, 0x8 - -gUnknown_0862A92C:: @ 862A92C - .incbin "baserom.gba", 0x62a92c, 0xa8 - -gUnknown_0862A9D4:: @ 862A9D4 - .incbin "baserom.gba", 0x62a9d4, 0x8 - -gUnknown_0862A9DC:: @ 862A9DC - .incbin "baserom.gba", 0x62a9dc, 0x8 - -gUnknown_0862A9E4:: @ 862A9E4 - .incbin "baserom.gba", 0x62a9e4, 0x30 - -gUnknown_0862AA14:: @ 862AA14 - .incbin "baserom.gba", 0x62aa14, 0x8 - -gUnknown_0862AA1C:: @ 862AA1C - .incbin "baserom.gba", 0x62aa1c, 0x18 - -gUnknown_0862AA34:: @ 862AA34 - .incbin "baserom.gba", 0x62aa34, 0x8 - -gUnknown_0862AA3C:: @ 862AA3C - .incbin "baserom.gba", 0x62aa3c, 0x18 - -gUnknown_0862AA54:: @ 862AA54 - .incbin "baserom.gba", 0x62aa54, 0x3c - -gUnknown_0862AA90:: @ 862AA90 - .incbin "baserom.gba", 0x62aa90, 0x8 - -gUnknown_0862AA98:: @ 862AA98 - .incbin "baserom.gba", 0x62aa98, 0x8 - -gUnknown_0862AAA0:: @ 862AAA0 - .incbin "baserom.gba", 0x62aaa0, 0x18 - -gUnknown_0862AAB8:: @ 862AAB8 - .incbin "baserom.gba", 0x62aab8, 0x14 - -gUnknown_0862AACC:: @ 862AACC - .incbin "baserom.gba", 0x62aacc, 0x30 - -gUnknown_0862AAFC:: @ 862AAFC - .incbin "baserom.gba", 0x62aafc, 0x8 - -gUnknown_0862AB04:: @ 862AB04 - .incbin "baserom.gba", 0x62ab04, 0x8 - -gUnknown_0862AB0C:: @ 862AB0C - .incbin "baserom.gba", 0x62ab0c, 0x8 - -gUnknown_0862AB14:: @ 862AB14 - .incbin "baserom.gba", 0x62ab14, 0x18 - -gUnknown_0862AB2C:: @ 862AB2C - .incbin "baserom.gba", 0x62ab2c, 0x18 - -gUnknown_0862AB44:: @ 862AB44 - .incbin "baserom.gba", 0x62ab44, 0xe4 - -gUnknown_0862AC28:: @ 862AC28 - .incbin "baserom.gba", 0x62ac28, 0x8 - -gUnknown_0862AC30:: @ 862AC30 - .incbin "baserom.gba", 0x62ac30, 0x8 - -gUnknown_0862AC38:: @ 862AC38 - .incbin "baserom.gba", 0x62ac38, 0x8 - -gUnknown_0862AC40:: @ 862AC40 - .incbin "baserom.gba", 0x62ac40, 0x8 - -gUnknown_0862AC48:: @ 862AC48 - .incbin "baserom.gba", 0x62ac48, 0x8 - -gUnknown_0862AC50:: @ 862AC50 - .incbin "baserom.gba", 0x62ac50, 0x8 - -gUnknown_0862AC58:: @ 862AC58 - .incbin "baserom.gba", 0x62ac58, 0x8 - -gUnknown_0862AC60:: @ 862AC60 - .incbin "baserom.gba", 0x62ac60, 0x8 - -gUnknown_0862AC68:: @ 862AC68 - .incbin "baserom.gba", 0x62ac68, 0x8 - -gUnknown_0862AC70:: @ 862AC70 - .incbin "baserom.gba", 0x62ac70, 0x8 - -gUnknown_0862AC78:: @ 862AC78 - .incbin "baserom.gba", 0x62ac78, 0x18 - -gUnknown_0862AC90:: @ 862AC90 - .incbin "baserom.gba", 0x62ac90, 0x18 - -gUnknown_0862ACA8:: @ 862ACA8 - .incbin "baserom.gba", 0x62aca8, 0x18 - -gUnknown_0862ACC0:: @ 862ACC0 - .incbin "baserom.gba", 0x62acc0, 0x18 - -gUnknown_0862ACD8:: @ 862ACD8 - .incbin "baserom.gba", 0x62acd8, 0x18 - -gUnknown_0862ACF0:: @ 862ACF0 - .incbin "baserom.gba", 0x62acf0, 0x18 - -gUnknown_0862AD08:: @ 862AD08 - .incbin "baserom.gba", 0x62ad08, 0xc diff --git a/data/record_mixing.s b/data/record_mixing.s index 6531633a5..0ef0a776a 100644 --- a/data/record_mixing.s +++ b/data/record_mixing.s @@ -2,7 +2,7 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2, 0 gUnknown_0858CF8C:: @ 858CF8C .incbin "baserom.gba", 0x58cf8c, 0x2 diff --git a/data/reset_rtc_screen.s b/data/reset_rtc_screen.s index f680a87bc..37c532497 100644 --- a/data/reset_rtc_screen.s +++ b/data/reset_rtc_screen.s @@ -1,8 +1,8 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata + .align 2, 0 gUnknown_08510404:: @ 8510404 struct BgTemplate .4byte 0x000001f0 diff --git a/data/rom_8486FEC.s b/data/rom_8486FEC.s index 9b7834a32..850ae5032 100644 --- a/data/rom_8486FEC.s +++ b/data/rom_8486FEC.s @@ -1,8 +1,8 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata + .align 2, 0 gUnknown_8486FEC:: @ 8486FEC .incbin "baserom.gba", 0x486fec, 0xFFA0 diff --git a/data/rom_8525F58.s b/data/rom_8525F58.s index 808300deb..d95af7e20 100644 --- a/data/rom_8525F58.s +++ b/data/rom_8525F58.s @@ -1,34 +1,34 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata + .section .rodata - .align 2 + .align 2 gUnknown_08525F58:: @ 8525F58 .byte 0x48, 0x50, 0x00, 0x00, 0xb0, 0x28, 0x00, 0x00 .byte 0x30, 0x28, 0x00, 0x00, 0x70, 0x50, 0x00, 0x00 .byte 0x20, 0x50, 0x00, 0x00, 0xc8, 0x28, 0x00, 0x00 .byte 0x5a, 0x58, 0x00, 0x00, 0x98, 0x20, 0x00, 0x00 - .align 2 + .align 2 gCastformFrontSpriteCoords:: @ 8525F78 .byte 0x44, 0x11, 0x00, 0x00, 0x66, 0x09, 0x00, 0x00 .byte 0x46, 0x09, 0x00, 0x00, 0x86, 0x08, 0x00, 0x00 - .align 2 + .align 2 gUnknown_08525F88:: @ 8525F88 .byte 0x0d, 0x0e, 0x0d, 0x0d - .align 2 + .align 2 gUnknown_08525F8C:: @ 8525F8C .byte 0x00, 0x00, 0x00, 0x00 - .align 2 + .align 2 gUnknown_08525F90:: @ 8525F90 spr_template 0xd755, 0xd755, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy spr_template 0xd756, 0xd756, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - .align 2 + .align 2 gUnknown_08525FC0:: @ 8525FC0 obj_tiles gMiscBlank_Gfx, 0x0800, 0xd755 obj_tiles gMiscBlank_Gfx, 0x0800, 0xd756 diff --git a/data/save.s b/data/save.s index 15e201baa..23a8d3928 100644 --- a/data/save.s +++ b/data/save.s @@ -4,17 +4,17 @@ .section .rodata gSaveSectionOffsets:: @ 85CDC00 - .2byte 0, 0xF2C - .2byte 0, 0xF80 - .2byte 0xF80, 0xF80 - .2byte 0x1F00, 0xF80 - .2byte 0x2E80, 0xF08 - .2byte 0, 0xF80 - .2byte 0xF80, 0xF80 - .2byte 0x1F00, 0xF80 - .2byte 0x2E80, 0xF80 - .2byte 0x3E00, 0xF80 - .2byte 0x4D80, 0xF80 - .2byte 0x5D00, 0xF80 - .2byte 0x6C80, 0xF80 - .2byte 0x7C00, 0x7D0 + .2byte 0, 0xF2C + .2byte 0, 0xF80 + .2byte 0xF80, 0xF80 + .2byte 0x1F00, 0xF80 + .2byte 0x2E80, 0xF08 + .2byte 0, 0xF80 + .2byte 0xF80, 0xF80 + .2byte 0x1F00, 0xF80 + .2byte 0x2E80, 0xF80 + .2byte 0x3E00, 0xF80 + .2byte 0x4D80, 0xF80 + .2byte 0x5D00, 0xF80 + .2byte 0x6C80, 0xF80 + .2byte 0x7C00, 0x7D0 diff --git a/data/script_menu.s b/data/script_menu.s index 8dd58262c..6cd7bf381 100644 --- a/data/script_menu.s +++ b/data/script_menu.s @@ -728,7 +728,7 @@ gUnknown_0858BAF0:: @ 858BAF0 gUnknown_0858BB68:: @ 858BB68 .byte 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F - .align 2 + .align 2 gUnknown_0858BB70:: @ 858BB70 .4byte gText_SomeonesPC .4byte gText_LanettesPC diff --git a/data/script_pokemon_util_80F87D8.s b/data/script_pokemon_util_80F87D8.s index beda525c8..dcf9edeea 100644 --- a/data/script_pokemon_util_80F87D8.s +++ b/data/script_pokemon_util_80F87D8.s @@ -2,6 +2,6 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2, 0 gUnknown_0858D8EC:: @ 858D8EC - .incbin "baserom.gba", 0x58d8ec, 0x4 + .byte 3, 4, 5, 14 diff --git a/data/specials.inc b/data/specials.inc index 578668fce..f0c1fa114 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -1,11 +1,11 @@ .macro def_special ptr .set SPECIAL_\ptr, __special__ .set __special__, __special__ + 1 - .4byte \ptr - .endm + .4byte \ptr + .endm .set __special__, 0 - .align 2 + .align 2 gSpecials:: @ 81DBA64 def_special HealPlayerParty def_special sub_809D2BC @@ -163,7 +163,7 @@ gSpecials:: @ 81DBA64 def_special SetFlagInVar def_special CableCarWarp def_special sub_814FC9C - def_special sub_8085784 + def_special Overworld_PlaySpecialMapMusic def_special StartWallClock def_special Special_ViewWallClock def_special ChooseStarter diff --git a/data/start_menu.s b/data/start_menu.s deleted file mode 100644 index 07e428d0d..000000000 --- a/data/start_menu.s +++ /dev/null @@ -1,29 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gSafariBallsWindowTemplate:: @ 8510508 - .incbin "baserom.gba", 0x510508, 0x8 - -gUnknown_08510510:: @ 8510510 - .incbin "baserom.gba", 0x510510, 0x20 - -gPyramidFloorWindowTemplate_2:: @ 8510530 - .incbin "baserom.gba", 0x510530, 0x8 - -gPyramidFloorWindowTemplate_1:: @ 8510538 - .incbin "baserom.gba", 0x510538, 0x8 - -sStartMenuItems:: @ 8510540 - .incbin "baserom.gba", 0x510540, 0x68 - -gUnknown_085105A8:: @ 85105A8 - .incbin "baserom.gba", 0x5105a8, 0x4 - -gUnknown_085105AC:: @ 85105AC - .incbin "baserom.gba", 0x5105ac, 0x10 - -gUnknown_085105BC:: @ 85105BC - .incbin "baserom.gba", 0x5105bc, 0x8 diff --git a/data/starter_choose.s b/data/starter_choose.s index 06bb8a356..160046d4c 100644 --- a/data/starter_choose.s +++ b/data/starter_choose.s @@ -1,7 +1,6 @@ -@ the fourth big chunk of data - .include "asm/macros.inc" .include "constants/constants.inc" + .include "include/constants/species.h" .section .rodata @@ -36,8 +35,11 @@ gStarterChoose_LabelCoords:: @ 85B1DF2 .incbin "baserom.gba", 0x5b1df2, 0x6 sStarterMon:: @ 85B1DF8 - .incbin "baserom.gba", 0x5b1df8, 0x8 + .2byte SPECIES_TREECKO + .2byte SPECIES_TORCHIC + .2byte SPECIES_MUDKIP +.align 2 gUnknown_085B1E00:: @ 85B1E00 .incbin "baserom.gba", 0x5b1e00, 0xc diff --git a/data/strings.s b/data/strings.s index a0661f13d..9e45b2e04 100644 --- a/data/strings.s +++ b/data/strings.s @@ -2705,34 +2705,34 @@ gUnknown_085EBB4F:: @ 85EBB4F gUnknown_085EBB56:: @ 85EBB56 .string "What would you like to do?$" -gUnknown_085EBB71:: @ 85EBB71 +gText_WithdrawPokemon:: @ 85EBB71 .string "WITHDRAW POKéMON$" -gUnknown_085EBB82:: @ 85EBB82 +gText_DepositPokemon:: @ 85EBB82 .string "DEPOSIT POKéMON$" -gUnknown_085EBB92:: @ 85EBB92 +gText_MovePokemon:: @ 85EBB92 .string "MOVE POKéMON$" -gUnknown_085EBB9F:: @ 85EBB9F +gText_MoveItems:: @ 85EBB9F .string "MOVE ITEMS$" -gUnknown_085EBBAA:: @ 85EBBAA +gText_SeeYa:: @ 85EBBAA .string "SEE YA!$" -gUnknown_085EBBB2:: @ 85EBBB2 +gText_WithdrawMonDescription:: @ 85EBBB2 .string "Move POKéMON stored in BOXES to\nyour party.$" -gUnknown_085EBBDE:: @ 85EBBDE +gText_DepositMonDescription:: @ 85EBBDE .string "Store POKéMON in your party in BOXES.$" -gUnknown_085EBC04:: @ 85EBC04 +gText_MoveMonDescription:: @ 85EBC04 .string "Organize the POKéMON in BOXES and\nin your party.$" -gUnknown_085EBC35:: @ 85EBC35 +gText_MoveItemsDescription:: @ 85EBC35 .string "Move items held by any POKéMON\nin a BOX or your party.$" -gUnknown_085EBC6C:: @ 85EBC6C +gText_SeeYaDescription:: @ 85EBC6C .string "Return to the previous menu.$" gText_JustOnePkmn:: @ 85EBC89 @@ -3521,10 +3521,10 @@ gText_Var1sTrainerCard:: @ 85ECFA6 gText_HallOfFameDebut:: @ 85ECFB8 .string "HALL OF FAME DEBUT $" -gUnknown_085ECFCD:: @ 85ECFCD +gText_LinkBattles:: @ 85ECFCD .string "LINK BATTLES$" -gUnknown_085ECFDA:: @ 85ECFDA +gText_LinkCableBattles:: @ 85ECFDA .string "LINK CABLE BATTLES$" gText_WinsLosses:: @ 85ECFED @@ -4488,34 +4488,34 @@ gUnknown_085EE6AD:: @ 85EE6AD gUnknown_085EE6B6:: @ 85EE6B6 .string "Updated time$" -gUnknown_085EE6C3:: @ 85EE6C3 +gText_MenuPokedex:: @ 85EE6C3 .string "POKéDEX$" -gUnknown_085EE6CB:: @ 85EE6CB +gText_MenuPokemon:: @ 85EE6CB .string "POKéMON$" -gUnknown_085EE6D3:: @ 85EE6D3 +gText_MenuBag:: @ 85EE6D3 .string "BAG$" -gUnknown_085EE6D7:: @ 85EE6D7 +gText_MenuPokenav:: @ 85EE6D7 .string "POKéNAV$" -gUnknown_085EE6DF:: @ 85EE6DF +gText_MenuPlayer:: @ 85EE6DF .string "{PLAYER}$" -gUnknown_085EE6E2:: @ 85EE6E2 +gText_MenuSave:: @ 85EE6E2 .string "SAVE$" -gUnknown_085EE6E7:: @ 85EE6E7 +gText_MenuOption:: @ 85EE6E7 .string "OPTION$" -gUnknown_085EE6EE:: @ 85EE6EE +gText_MenuExit:: @ 85EE6EE .string "EXIT$" -gUnknown_085EE6F3:: @ 85EE6F3 +gText_MenuRetire:: @ 85EE6F3 .string "RETIRE$" -gUnknown_085EE6FA:: @ 85EE6FA +gText_MenuRest:: @ 85EE6FA .string "REST$" gText_SafariBallStock:: @ 85EE6FF @@ -4524,28 +4524,28 @@ gText_SafariBallStock:: @ 85EE6FF gText_BattlePyramidFloor:: @ 85EE716 .string "Battle Pyramid\n{STR_VAR_1}$" -gUnknown_085EE728:: @ 85EE728 +gText_Floor1:: @ 85EE728 .string "Floor 1$" -gUnknown_085EE730:: @ 85EE730 +gText_Floor2:: @ 85EE730 .string "Floor 2$" -gUnknown_085EE738:: @ 85EE738 +gText_Floor3:: @ 85EE738 .string "Floor 3$" -gUnknown_085EE740:: @ 85EE740 +gText_Floor4:: @ 85EE740 .string "Floor 4$" -gUnknown_085EE748:: @ 85EE748 +gText_Floor5:: @ 85EE748 .string "Floor 5$" -gUnknown_085EE750:: @ 85EE750 +gText_Floor6:: @ 85EE750 .string "Floor 6$" -gUnknown_085EE758:: @ 85EE758 +gText_Floor7:: @ 85EE758 .string "Floor 7$" -gUnknown_085EE760:: @ 85EE760 +gText_Peak:: @ 85EE760 .string "Peak$" gText_LinkStandby2:: @ 85EE765 @@ -5393,4 +5393,3 @@ gText_Berry:: @ 85EFCDF gText_Berries:: @ 85EFCE5 .string "BERRIES$" - diff --git a/data/text_window.s b/data/text_window.s index a7389572b..716425100 100644 --- a/data/text_window.s +++ b/data/text_window.s @@ -1,17 +1,170 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata + .align 2, 0 gUnknown_0850E87C:: @ 850E87C - .incbin "baserom.gba", 0x50e87c, 0x1680 + .incbin "baserom.gba", 0x50e87c, 0x120 + +gUnknown_0850E99C:: @ 850E99C + .incbin "baserom.gba", 0x50e99c, 0x120 + +gUnknown_0850EABC:: @ 850EABC + .incbin "baserom.gba", 0x50eabc, 0x120 + +gUnknown_0850EBDC:: @ 850EBDC + .incbin "baserom.gba", 0x50ebdc, 0x120 + +gUnknown_0850ECFC:: @ 850ECFC + .incbin "baserom.gba", 0x50ecfc, 0x120 + +gUnknown_0850EE1C:: @ 850EE1C + .incbin "baserom.gba", 0x50ee1c, 0x120 + +gUnknown_0850EF3C:: @ 850EF3C + .incbin "baserom.gba", 0x50ef3c, 0x120 + +gUnknown_0850F05C:: @ 850F05C + .incbin "baserom.gba", 0x50f05c, 0x120 + +gUnknown_0850F17C:: @ 850F17C + .incbin "baserom.gba", 0x50f17c, 0x120 + +gUnknown_0850F29C:: @ 850F29C + .incbin "baserom.gba", 0x50f29c, 0x120 + +gUnknown_0850F3BC:: @ 850F3BC + .incbin "baserom.gba", 0x50f3bc, 0x120 + +gUnknown_0850F4DC:: @ 850F4DC + .incbin "baserom.gba", 0x50f4dc, 0x120 + +gUnknown_0850F5FC:: @ 850F5FC + .incbin "baserom.gba", 0x50f5fc, 0x120 + +gUnknown_0850F71C:: @ 850F71C + .incbin "baserom.gba", 0x50f71c, 0x120 + +gUnknown_0850F83C:: @ 850F83C + .incbin "baserom.gba", 0x50f83c, 0x120 + +gUnknown_0850F95C:: @ 850F95C + .incbin "baserom.gba", 0x50f95c, 0x120 + +gUnknown_0850FA7C:: @ 850FA7C + .incbin "baserom.gba", 0x50fa7c, 0x120 + +gUnknown_0850FB9C:: @ 850FB9C + .incbin "baserom.gba", 0x50fb9c, 0x120 + +gUnknown_0850FCBC:: @ 850FCBC + .incbin "baserom.gba", 0x50fcbc, 0x120 + +gUnknown_0850FDDC:: @ 850FDDC + .incbin "baserom.gba", 0x50fddc, 0x120 gUnknown_0850FEFC:: @ 850FEFC - .incbin "baserom.gba", 0x50fefc, 0x280 + .incbin "baserom.gba", 0x50fefc, 0x20 + +gUnknown_0850FF1C:: @ 850FF1C + .incbin "baserom.gba", 0x50ff1c, 0x20 + +gUnknown_0850FF3C:: @ 850FF3C + .incbin "baserom.gba", 0x50ff3c, 0x20 + +gUnknown_0850FF5C:: @ 850FF5C + .incbin "baserom.gba", 0x50ff5c, 0x20 + +gUnknown_0850FF7C:: @ 850FF7C + .incbin "baserom.gba", 0x50ff7c, 0x20 + +gUnknown_0850FF9C:: @ 850FF9C + .incbin "baserom.gba", 0x50ff9c, 0x20 + +gUnknown_0850FFBC:: @ 850FFBC + .incbin "baserom.gba", 0x50ffbc, 0x20 + +gUnknown_0850FFDC:: @ 850FFDC + .incbin "baserom.gba", 0x50ffdc, 0x20 + +gUnknown_0850FFFC:: @ 850FFFC + .incbin "baserom.gba", 0x50fffc, 0x20 + +gUnknown_0851001C:: @ 851001C + .incbin "baserom.gba", 0x51001c, 0x20 + +gUnknown_0851003C:: @ 851003C + .incbin "baserom.gba", 0x51003c, 0x20 + +gUnknown_0851005C:: @ 851005C + .incbin "baserom.gba", 0x51005c, 0x20 + +gUnknown_0851007C:: @ 851007C + .incbin "baserom.gba", 0x51007c, 0x20 + +gUnknown_0851009C:: @ 851009C + .incbin "baserom.gba", 0x51009c, 0x20 + +gUnknown_085100BC:: @ 85100BC + .incbin "baserom.gba", 0x5100bc, 0x20 + +gUnknown_085100DC:: @ 85100DC + .incbin "baserom.gba", 0x5100dc, 0x20 + +gUnknown_085100FC:: @ 85100FC + .incbin "baserom.gba", 0x5100fc, 0x20 + +gUnknown_0851011C:: @ 851011C + .incbin "baserom.gba", 0x51011c, 0x20 + +gUnknown_0851013C:: @ 851013C + .incbin "baserom.gba", 0x51013c, 0x20 + +gUnknown_0851015C:: @ 851015C + .incbin "baserom.gba", 0x51015c, 0x20 gUnknown_0851017C:: @ 851017C - .incbin "baserom.gba", 0x51017c, 0xa0 + .incbin "baserom.gba", 0x51017c, 0xA0 gUnknown_0851021C:: @ 851021C - .incbin "baserom.gba", 0x51021c, 0xa0 + .4byte gUnknown_0850E87C + .4byte gUnknown_0850FEFC + .4byte gUnknown_0850E99C + .4byte gUnknown_0850FF1C + .4byte gUnknown_0850EABC + .4byte gUnknown_0850FF3C + .4byte gUnknown_0850EBDC + .4byte gUnknown_0850FF5C + .4byte gUnknown_0850ECFC + .4byte gUnknown_0850FF7C + .4byte gUnknown_0850EE1C + .4byte gUnknown_0850FF9C + .4byte gUnknown_0850EF3C + .4byte gUnknown_0850FFBC + .4byte gUnknown_0850F05C + .4byte gUnknown_0850FFDC + .4byte gUnknown_0850F17C + .4byte gUnknown_0850FFFC + .4byte gUnknown_0850F29C + .4byte gUnknown_0851001C + .4byte gUnknown_0850F3BC + .4byte gUnknown_0851003C + .4byte gUnknown_0850F4DC + .4byte gUnknown_0851005C + .4byte gUnknown_0850F5FC + .4byte gUnknown_0851007C + .4byte gUnknown_0850F71C + .4byte gUnknown_0851009C + .4byte gUnknown_0850F83C + .4byte gUnknown_085100BC + .4byte gUnknown_0850F95C + .4byte gUnknown_085100DC + .4byte gUnknown_0850FA7C + .4byte gUnknown_085100FC + .4byte gUnknown_0850FB9C + .4byte gUnknown_0851011C + .4byte gUnknown_0850FCBC + .4byte gUnknown_0851013C + .4byte gUnknown_0850FDDC + .4byte gUnknown_0851015C diff --git a/data/trade.s b/data/trade.s index b392fbc24..7308b92a3 100644 --- a/data/trade.s +++ b/data/trade.s @@ -1,9 +1,9 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2, 0 - .section .rodata - .align 2, 0 - gUnknown_0832C6A8:: @ 832C6A8 .incbin "baserom.gba", 0x32C6A8, 0x18 diff --git a/data/trainer_card.s b/data/trainer_card.s index 0d48cd0b6..8e49b040f 100644 --- a/data/trainer_card.s +++ b/data/trainer_card.s @@ -1,11 +1,44 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata + .align 2, 0 + +.macro unk_trainer_card_struct text1, text2, short1, short2, short3, short4 + .4byte \text1 + .4byte \text2 + .2byte \short1 + .2byte \short2 + .2byte \short3 + .2byte \short4 +.endm gUnknown_0856F018:: @ 856F018 - .incbin "baserom.gba", 0x56f018, 0x494 + .incbin "baserom.gba", 0x56f018, 0x194 + +gUnknown_0856F1AC:: @ 856F1AC + .incbin "baserom.gba", 0x56f1ac, 0x60 + +gUnknown_0856F20C:: @ 856F20C + .incbin "baserom.gba", 0x56f20c, 0x60 + +gUnknown_0856F26C:: @ 856F26C + .incbin "baserom.gba", 0x56f26c, 0x60 + +gUnknown_0856F2CC:: @ 856F2CC + .incbin "baserom.gba", 0x56f2cc, 0x60 + +gUnknown_0856F32C:: @ 856F32C + .incbin "baserom.gba", 0x56f32c, 0x60 + +gUnknown_0856F38C:: @ 856F38C + .incbin "baserom.gba", 0x56f38c, 0x60 + +gUnknown_0856F3EC:: @ 856F3EC + .incbin "baserom.gba", 0x56f3ec, 0x60 + +gUnknown_0856F44C:: @ 856F44C + .incbin "baserom.gba", 0x56f44c, 0x60 gUnknown_0856F4AC:: @ 856F4AC .incbin "baserom.gba", 0x56f4ac, 0x20 @@ -47,16 +80,27 @@ gUnknown_0856FAC4:: @ 856FAC4 .incbin "baserom.gba", 0x56fac4, 0x20 gUnknown_0856FAE4:: @ 856FAE4 - .incbin "baserom.gba", 0x56fae4, 0x14 + .4byte gUnknown_08DD1A58 + .4byte gUnknown_0856F1AC + .4byte gUnknown_0856F26C + .4byte gUnknown_0856F32C + .4byte gUnknown_0856F3EC gUnknown_0856FAF8:: @ 856FAF8 - .incbin "baserom.gba", 0x56faf8, 0x14 + .4byte gUnknown_08DD240C + .4byte gUnknown_0856F20C + .4byte gUnknown_0856F2CC + .4byte gUnknown_0856F38C + .4byte gUnknown_0856F44C gUnknown_0856FB0C:: @ 856FB0C .incbin "baserom.gba", 0x56fb0c, 0x3 gUnknown_0856FB0F:: @ 856FB0F - .incbin "baserom.gba", 0x56fb0f, 0x9 + .incbin "baserom.gba", 0x56fb0f, 0x3 + +gUnknown_0856FB12:: @ 856FB12 + .incbin "baserom.gba", 0x56fb12, 0x6 gUnknown_0856FB18:: @ 856FB18 .incbin "baserom.gba", 0x56fb18, 0x8 @@ -65,10 +109,16 @@ gUnknown_0856FB20:: @ 856FB20 .incbin "baserom.gba", 0x56fb20, 0x8 gUnknown_0856FB28:: @ 856FB28 - .incbin "baserom.gba", 0x56fb28, 0x18 + .4byte sub_80C4998 + .4byte sub_80C49D8 + .4byte sub_80C4B08 + .4byte sub_80C4C1C + .4byte sub_80C4C84 + .4byte sub_80C4DB0 gUnknown_0856FB40:: @ 856FB40 - .incbin "baserom.gba", 0x56fb40, 0x8 + .4byte gUnknown_0856FB0C + .4byte gUnknown_0856FB12 gUnknown_0856FB48:: @ 856FB48 .incbin "baserom.gba", 0x56fb48, 0x2 @@ -86,7 +136,9 @@ gUnknown_0856FB57:: @ 856FB57 .incbin "baserom.gba", 0x56fb57, 0x5 gUnknown_0856FB5C:: @ 856FB5C - .incbin "baserom.gba", 0x56fb5c, 0xc + .4byte gText_LinkBattles + .4byte gText_LinkCableBattles + .4byte gText_LinkBattles gUnknown_0856FB68:: @ 856FB68 .incbin "baserom.gba", 0x56fb68, 0x6 @@ -98,10 +150,25 @@ gUnknown_0856FB74:: @ 856FB74 .incbin "baserom.gba", 0x56fb74, 0x4 gUnknown_0856FB78:: @ 856FB78 - .incbin "baserom.gba", 0x56fb78, 0x44 + .incbin "baserom.gba", 0x56fb78, 0x4 + +gUnknown_0856FB7C:: @ 856FB7C + .incbin "baserom.gba", 0x56fb7c, 0x20 + +gUnknown_0856FB9C:: @ 856FB9C + .incbin "baserom.gba", 0x56fb9c, 0x20 gUnknown_0856FBBC:: @ 856FBBC - .incbin "baserom.gba", 0x56fbbc, 0x1244 + .incbin "baserom.gba", 0x56fbbc, 0xFEC + +gUnknown_08570BA8:: @ 8570BA8 + .incbin "baserom.gba", 0x570ba8, 0x9C + +gUnknown_08570C44:: @ 8570C44 + .incbin "baserom.gba", 0x570c44, 0xBC + +gUnknown_08570D00:: @ 8570D00 + .incbin "baserom.gba", 0x570d00, 0x100 gUnknown_08570E00:: @ 8570E00 .incbin "baserom.gba", 0x570e00, 0x260 @@ -143,25 +210,106 @@ gUnknown_08571454:: @ 8571454 .incbin "baserom.gba", 0x571454, 0x68 gUnknown_085714BC:: @ 85714BC - .incbin "baserom.gba", 0x5714bc, 0x18 + obj_tiles gUnknown_08570BA8, 0x100, 0 + obj_tiles gUnknown_08570D00, 0x400, 1 + obj_tiles gUnknown_08DC1394, 0x380, 2 gUnknown_085714D4:: @ 85714D4 - .incbin "baserom.gba", 0x5714d4, 0x10 + obj_tiles gUnknown_08570C44, 0x100, 4 + obj_tiles NULL, 0, 0 gUnknown_085714E4:: @ 85714E4 - .incbin "baserom.gba", 0x5714e4, 0xd0 + obj_pal gUnknown_08DC1674, 0 + obj_pal gUnknown_08DC1694, 1 + obj_pal gUnknown_08DC16B4, 2 + obj_pal gUnknown_08DC16D4, 3 + obj_pal gUnknown_0856FB7C, 4 + obj_pal gUnknown_0856FB9C, 5 + obj_pal NULL, 0 + obj_pal NULL, 0xFFFF + +gUnknown_08571524:: @ 8571524 + .incbin "baserom.gba", 0x571524, 0x8 + +gUnknown_0857152C:: @ 857152C + .incbin "baserom.gba", 0x57152c, 0x8 + +gUnknown_08571534:: @ 8571534 + .incbin "baserom.gba", 0x571534, 0x8 + +gUnknown_0857153C:: @ 857153C + .incbin "baserom.gba", 0x57153c, 0x8 + +gUnknown_08571544:: @ 8571544 + .incbin "baserom.gba", 0x571544, 0x8 + +gUnknown_0857154C:: @ 857154C + .incbin "baserom.gba", 0x57154c, 0x8 + +gUnknown_08571554:: @ 8571554 + .incbin "baserom.gba", 0x571554, 0x8 + +gUnknown_0857155C:: @ 857155C + .incbin "baserom.gba", 0x57155c, 0xC + +gUnknown_08571568:: @ 8571568 + .incbin "baserom.gba", 0x571568, 0xC + +gUnknown_08571574:: @ 8571574 + .4byte gUnknown_08571524 + .4byte gUnknown_0857152C + +gUnknown_0857157C:: @ 857157C + .4byte gUnknown_08571524 + .4byte gUnknown_0857152C + .4byte gUnknown_08571534 + .4byte gUnknown_0857153C + .4byte gUnknown_08571544 + .4byte gUnknown_0857154C + .4byte gUnknown_08571554 + +gUnknown_08571598:: @ 8571598 + .4byte gUnknown_0857155C + .4byte gUnknown_08571568 + +gUnknown_085715A0:: @ 85715A0 + .incbin "baserom.gba", 0x5715a0, 0x10 + +gUnknown_085715B0:: @ 85715B0 + .4byte gUnknown_085715A0 gUnknown_085715B4:: @ 85715B4 - .incbin "baserom.gba", 0x5715b4, 0x30 + spr_template 0, 0, gUnknown_0852490C, gUnknown_08571574, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + spr_template 1, 1, gUnknown_08524934, gUnknown_08571598, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085715E4:: @ 85715E4 - .incbin "baserom.gba", 0x5715e4, 0x18 + spr_template 2, 2, gUnknown_0852490C, gUnknown_0857157C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_085715FC:: @ 85715FC - .incbin "baserom.gba", 0x5715fc, 0x18 + spr_template 4, 4, gUnknown_0852490C, gUnknown_08571574, NULL, gDummySpriteAffineAnimTable, nullsub_39 gUnknown_08571614:: @ 8571614 - .incbin "baserom.gba", 0x571614, 0x3c + .4byte gUnknown_085EDA96 + .4byte gUnknown_085ED932 + .4byte gUnknown_085ED94D + .4byte gUnknown_085ED961 + .4byte gUnknown_085ED977 + .4byte gUnknown_085ED993 + .4byte gUnknown_085ED9AF + .4byte gUnknown_085ED9C7 + .4byte gUnknown_085ED9E5 + .4byte gUnknown_085EDA02 + .4byte gUnknown_085EDA21 + .4byte gUnknown_085EDA3C + .4byte gUnknown_085EDA5E + .4byte gUnknown_085EDA78 + .4byte gUnknown_085ED931 gUnknown_08571650:: @ 8571650 - .incbin "baserom.gba", 0x571650, 0x70 + unk_trainer_card_struct gUnknown_085EDAB1, gUnknown_085EDB0F, 0x59, 0x28, 1, 0 + unk_trainer_card_struct gUnknown_085EDABE, gUnknown_085EDB4E, 0x21, 0x2A, 1, 0 + unk_trainer_card_struct gUnknown_085EDACA, gUnknown_085EDB8B, 0x78, 0x56, 0, 0 + unk_trainer_card_struct gUnknown_085EDAD8, gUnknown_085EDBC2, 0x72, 0x3B, 0, 0 + unk_trainer_card_struct gUnknown_085EDAE5, gUnknown_085EDC00, 0x19, 0x43, 0, 0 + unk_trainer_card_struct gUnknown_085EDAF4, gUnknown_085EDC45, 0x39, 0x39, 1, 0 + unk_trainer_card_struct gUnknown_085EDB00, gUnknown_085EDC84, 0x86, 0x29, 1, 0 diff --git a/data/trainer_money.inc b/data/trainer_money.inc index 1e06668bd..00aaa6cfb 100644 --- a/data/trainer_money.inc +++ b/data/trainer_money.inc @@ -1,59 +1,59 @@ @ This is a factor in how much money you get for beating a trainer. .align 2 gTrainerMoneyTable:: @ 831AEB8 - .byte TRAINER_CLASS_NAME_TEAM_AQUA, 5, 0, 0 - .byte TRAINER_CLASS_NAME_AQUA_ADMIN, 10, 0, 0 - .byte TRAINER_CLASS_NAME_AQUA_LEADER, 20, 0, 0 - .byte TRAINER_CLASS_NAME_AROMA_LADY, 10, 0, 0 - .byte TRAINER_CLASS_NAME_RUIN_MANIAC, 15, 0, 0 - .byte TRAINER_CLASS_NAME_INTERVIEWER, 12, 0, 0 - .byte TRAINER_CLASS_NAME_TUBER_1, 1, 0, 0 - .byte TRAINER_CLASS_NAME_TUBER_2, 1, 0, 0 - .byte TRAINER_CLASS_NAME_SIS_AND_BRO, 3, 0, 0 - .byte TRAINER_CLASS_NAME_COOLTRAINER_1, 12, 0, 0 - .byte TRAINER_CLASS_NAME_HEX_MANIAC, 6, 0, 0 - .byte TRAINER_CLASS_NAME_LADY, 50, 0, 0 - .byte TRAINER_CLASS_NAME_BEAUTY, 20, 0, 0 - .byte TRAINER_CLASS_NAME_RICH_BOY, 50, 0, 0 - .byte TRAINER_CLASS_NAME_POKEMANIAC, 15, 0, 0 - .byte TRAINER_CLASS_NAME_SWIMMER_M, 2, 0, 0 - .byte TRAINER_CLASS_NAME_BLACK_BELT, 8, 0, 0 - .byte TRAINER_CLASS_NAME_GUITARIST, 8, 0, 0 - .byte TRAINER_CLASS_NAME_KINDLER, 8, 0, 0 - .byte TRAINER_CLASS_NAME_CAMPER, 4, 0, 0 - .byte TRAINER_CLASS_NAME_OLD_COUPLE, 10, 0, 0 - .byte TRAINER_CLASS_NAME_BUG_MANIAC, 15, 0, 0 - .byte TRAINER_CLASS_NAME_PSYCHIC, 6, 0, 0 - .byte TRAINER_CLASS_NAME_GENTLEMAN, 20, 0, 0 - .byte TRAINER_CLASS_NAME_ELITE_FOUR, 25, 0, 0 - .byte TRAINER_CLASS_NAME_LEADER, 25, 0, 0 - .byte TRAINER_CLASS_NAME_SCHOOL_KID, 5, 0, 0 - .byte TRAINER_CLASS_NAME_SR_AND_JR, 4, 0, 0 - .byte TRAINER_CLASS_NAME_POKEFAN, 20, 0, 0 - .byte TRAINER_CLASS_NAME_EXPERT, 10, 0, 0 - .byte TRAINER_CLASS_NAME_YOUNGSTER, 4, 0, 0 - .byte TRAINER_CLASS_NAME_CHAMPION, 50, 0, 0 - .byte TRAINER_CLASS_NAME_FISHERMAN, 10, 0, 0 - .byte TRAINER_CLASS_NAME_TRIATHLETE, 10, 0, 0 - .byte TRAINER_CLASS_NAME_DRAGON_TAMER, 12, 0, 0 - .byte TRAINER_CLASS_NAME_BIRD_KEEPER, 8, 0, 0 - .byte TRAINER_CLASS_NAME_NINJA_BOY, 3, 0, 0 - .byte TRAINER_CLASS_NAME_BATTLE_GIRL, 6, 0, 0 - .byte TRAINER_CLASS_NAME_PARASOL_LADY, 10, 0, 0 - .byte TRAINER_CLASS_NAME_SWIMMER_F, 2, 0, 0 - .byte TRAINER_CLASS_NAME_PICNICKER, 4, 0, 0 - .byte TRAINER_CLASS_NAME_TWINS, 3, 0, 0 - .byte TRAINER_CLASS_NAME_SAILOR, 8, 0, 0 - .byte TRAINER_CLASS_NAME_COLLECTOR, 15, 0, 0 - .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3, 15, 0, 0 - .byte TRAINER_CLASS_NAME_PKMN_BREEDER, 10, 0, 0 - .byte TRAINER_CLASS_NAME_PKMN_RANGER, 12, 0, 0 - .byte TRAINER_CLASS_NAME_TEAM_MAGMA, 5, 0, 0 - .byte TRAINER_CLASS_NAME_MAGMA_ADMIN, 10, 0, 0 - .byte TRAINER_CLASS_NAME_MAGMA_LEADER, 20, 0, 0 - .byte TRAINER_CLASS_NAME_LASS, 4, 0, 0 - .byte TRAINER_CLASS_NAME_BUG_CATCHER, 4, 0, 0 - .byte TRAINER_CLASS_NAME_HIKER, 10, 0, 0 - .byte TRAINER_CLASS_NAME_YOUNG_COUPLE, 8, 0, 0 - .byte TRAINER_CLASS_LEADER_1, 10, 0, 0 - .byte -1, 5, 0, 0 + .byte TRAINER_CLASS_NAME_TEAM_AQUA, 5, 0, 0 + .byte TRAINER_CLASS_NAME_AQUA_ADMIN, 10, 0, 0 + .byte TRAINER_CLASS_NAME_AQUA_LEADER, 20, 0, 0 + .byte TRAINER_CLASS_NAME_AROMA_LADY, 10, 0, 0 + .byte TRAINER_CLASS_NAME_RUIN_MANIAC, 15, 0, 0 + .byte TRAINER_CLASS_NAME_INTERVIEWER, 12, 0, 0 + .byte TRAINER_CLASS_NAME_TUBER_1, 1, 0, 0 + .byte TRAINER_CLASS_NAME_TUBER_2, 1, 0, 0 + .byte TRAINER_CLASS_NAME_SIS_AND_BRO, 3, 0, 0 + .byte TRAINER_CLASS_NAME_COOLTRAINER_1, 12, 0, 0 + .byte TRAINER_CLASS_NAME_HEX_MANIAC, 6, 0, 0 + .byte TRAINER_CLASS_NAME_LADY, 50, 0, 0 + .byte TRAINER_CLASS_NAME_BEAUTY, 20, 0, 0 + .byte TRAINER_CLASS_NAME_RICH_BOY, 50, 0, 0 + .byte TRAINER_CLASS_NAME_POKEMANIAC, 15, 0, 0 + .byte TRAINER_CLASS_NAME_SWIMMER_M, 2, 0, 0 + .byte TRAINER_CLASS_NAME_BLACK_BELT, 8, 0, 0 + .byte TRAINER_CLASS_NAME_GUITARIST, 8, 0, 0 + .byte TRAINER_CLASS_NAME_KINDLER, 8, 0, 0 + .byte TRAINER_CLASS_NAME_CAMPER, 4, 0, 0 + .byte TRAINER_CLASS_NAME_OLD_COUPLE, 10, 0, 0 + .byte TRAINER_CLASS_NAME_BUG_MANIAC, 15, 0, 0 + .byte TRAINER_CLASS_NAME_PSYCHIC, 6, 0, 0 + .byte TRAINER_CLASS_NAME_GENTLEMAN, 20, 0, 0 + .byte TRAINER_CLASS_NAME_ELITE_FOUR, 25, 0, 0 + .byte TRAINER_CLASS_NAME_LEADER, 25, 0, 0 + .byte TRAINER_CLASS_NAME_SCHOOL_KID, 5, 0, 0 + .byte TRAINER_CLASS_NAME_SR_AND_JR, 4, 0, 0 + .byte TRAINER_CLASS_NAME_POKEFAN, 20, 0, 0 + .byte TRAINER_CLASS_NAME_EXPERT, 10, 0, 0 + .byte TRAINER_CLASS_NAME_YOUNGSTER, 4, 0, 0 + .byte TRAINER_CLASS_NAME_CHAMPION, 50, 0, 0 + .byte TRAINER_CLASS_NAME_FISHERMAN, 10, 0, 0 + .byte TRAINER_CLASS_NAME_TRIATHLETE, 10, 0, 0 + .byte TRAINER_CLASS_NAME_DRAGON_TAMER, 12, 0, 0 + .byte TRAINER_CLASS_NAME_BIRD_KEEPER, 8, 0, 0 + .byte TRAINER_CLASS_NAME_NINJA_BOY, 3, 0, 0 + .byte TRAINER_CLASS_NAME_BATTLE_GIRL, 6, 0, 0 + .byte TRAINER_CLASS_NAME_PARASOL_LADY, 10, 0, 0 + .byte TRAINER_CLASS_NAME_SWIMMER_F, 2, 0, 0 + .byte TRAINER_CLASS_NAME_PICNICKER, 4, 0, 0 + .byte TRAINER_CLASS_NAME_TWINS, 3, 0, 0 + .byte TRAINER_CLASS_NAME_SAILOR, 8, 0, 0 + .byte TRAINER_CLASS_NAME_COLLECTOR, 15, 0, 0 + .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3, 15, 0, 0 + .byte TRAINER_CLASS_NAME_PKMN_BREEDER, 10, 0, 0 + .byte TRAINER_CLASS_NAME_PKMN_RANGER, 12, 0, 0 + .byte TRAINER_CLASS_NAME_TEAM_MAGMA, 5, 0, 0 + .byte TRAINER_CLASS_NAME_MAGMA_ADMIN, 10, 0, 0 + .byte TRAINER_CLASS_NAME_MAGMA_LEADER, 20, 0, 0 + .byte TRAINER_CLASS_NAME_LASS, 4, 0, 0 + .byte TRAINER_CLASS_NAME_BUG_CATCHER, 4, 0, 0 + .byte TRAINER_CLASS_NAME_HIKER, 10, 0, 0 + .byte TRAINER_CLASS_NAME_YOUNG_COUPLE, 8, 0, 0 + .byte TRAINER_CLASS_LEADER_1, 10, 0, 0 + .byte -1, 5, 0, 0 diff --git a/data/type_effectiveness.inc b/data/type_effectiveness.inc index a24615592..0739199c2 100644 --- a/data/type_effectiveness.inc +++ b/data/type_effectiveness.inc @@ -1,119 +1,119 @@ @ format: attacking type, defending type, damage multiplier @ the multiplier is a (decimal) fixed-point number: -@ 20 is ×2.0 -@ 05 is ×0.5 -@ 00 is ×0 +@ 20 is ×2.0 +@ 05 is ×0.5 +@ 00 is ×0 gTypeEffectiveness:: @ 831ACE8 - .byte TYPE_NORMAL, TYPE_ROCK, 5 - .byte TYPE_NORMAL, TYPE_STEEL, 5 - .byte TYPE_FIRE, TYPE_FIRE, 5 - .byte TYPE_FIRE, TYPE_WATER, 5 - .byte TYPE_FIRE, TYPE_GRASS, 20 - .byte TYPE_FIRE, TYPE_ICE, 20 - .byte TYPE_FIRE, TYPE_BUG, 20 - .byte TYPE_FIRE, TYPE_ROCK, 5 - .byte TYPE_FIRE, TYPE_DRAGON, 5 - .byte TYPE_FIRE, TYPE_STEEL, 20 - .byte TYPE_WATER, TYPE_FIRE, 20 - .byte TYPE_WATER, TYPE_WATER, 5 - .byte TYPE_WATER, TYPE_GRASS, 5 - .byte TYPE_WATER, TYPE_GROUND, 20 - .byte TYPE_WATER, TYPE_ROCK, 20 - .byte TYPE_WATER, TYPE_DRAGON, 5 - .byte TYPE_ELECTRIC, TYPE_WATER, 20 + .byte TYPE_NORMAL, TYPE_ROCK, 5 + .byte TYPE_NORMAL, TYPE_STEEL, 5 + .byte TYPE_FIRE, TYPE_FIRE, 5 + .byte TYPE_FIRE, TYPE_WATER, 5 + .byte TYPE_FIRE, TYPE_GRASS, 20 + .byte TYPE_FIRE, TYPE_ICE, 20 + .byte TYPE_FIRE, TYPE_BUG, 20 + .byte TYPE_FIRE, TYPE_ROCK, 5 + .byte TYPE_FIRE, TYPE_DRAGON, 5 + .byte TYPE_FIRE, TYPE_STEEL, 20 + .byte TYPE_WATER, TYPE_FIRE, 20 + .byte TYPE_WATER, TYPE_WATER, 5 + .byte TYPE_WATER, TYPE_GRASS, 5 + .byte TYPE_WATER, TYPE_GROUND, 20 + .byte TYPE_WATER, TYPE_ROCK, 20 + .byte TYPE_WATER, TYPE_DRAGON, 5 + .byte TYPE_ELECTRIC, TYPE_WATER, 20 .byte TYPE_ELECTRIC, TYPE_ELECTRIC, 5 - .byte TYPE_ELECTRIC, TYPE_GRASS, 5 + .byte TYPE_ELECTRIC, TYPE_GRASS, 5 .byte TYPE_ELECTRIC, TYPE_GROUND, 0 .byte TYPE_ELECTRIC, TYPE_FLYING, 20 .byte TYPE_ELECTRIC, TYPE_DRAGON, 5 - .byte TYPE_GRASS, TYPE_FIRE, 5 - .byte TYPE_GRASS, TYPE_WATER, 20 - .byte TYPE_GRASS, TYPE_GRASS, 5 - .byte TYPE_GRASS, TYPE_POISON, 5 - .byte TYPE_GRASS, TYPE_GROUND, 20 - .byte TYPE_GRASS, TYPE_FLYING, 5 - .byte TYPE_GRASS, TYPE_BUG, 5 - .byte TYPE_GRASS, TYPE_ROCK, 20 - .byte TYPE_GRASS, TYPE_DRAGON, 5 - .byte TYPE_GRASS, TYPE_STEEL, 5 - .byte TYPE_ICE, TYPE_WATER, 5 - .byte TYPE_ICE, TYPE_GRASS, 20 - .byte TYPE_ICE, TYPE_ICE, 5 - .byte TYPE_ICE, TYPE_GROUND, 20 - .byte TYPE_ICE, TYPE_FLYING, 20 - .byte TYPE_ICE, TYPE_DRAGON, 20 - .byte TYPE_ICE, TYPE_STEEL, 5 - .byte TYPE_ICE, TYPE_FIRE, 5 + .byte TYPE_GRASS, TYPE_FIRE, 5 + .byte TYPE_GRASS, TYPE_WATER, 20 + .byte TYPE_GRASS, TYPE_GRASS, 5 + .byte TYPE_GRASS, TYPE_POISON, 5 + .byte TYPE_GRASS, TYPE_GROUND, 20 + .byte TYPE_GRASS, TYPE_FLYING, 5 + .byte TYPE_GRASS, TYPE_BUG, 5 + .byte TYPE_GRASS, TYPE_ROCK, 20 + .byte TYPE_GRASS, TYPE_DRAGON, 5 + .byte TYPE_GRASS, TYPE_STEEL, 5 + .byte TYPE_ICE, TYPE_WATER, 5 + .byte TYPE_ICE, TYPE_GRASS, 20 + .byte TYPE_ICE, TYPE_ICE, 5 + .byte TYPE_ICE, TYPE_GROUND, 20 + .byte TYPE_ICE, TYPE_FLYING, 20 + .byte TYPE_ICE, TYPE_DRAGON, 20 + .byte TYPE_ICE, TYPE_STEEL, 5 + .byte TYPE_ICE, TYPE_FIRE, 5 .byte TYPE_FIGHTING, TYPE_NORMAL, 20 - .byte TYPE_FIGHTING, TYPE_ICE, 20 + .byte TYPE_FIGHTING, TYPE_ICE, 20 .byte TYPE_FIGHTING, TYPE_POISON, 5 .byte TYPE_FIGHTING, TYPE_FLYING, 5 .byte TYPE_FIGHTING, TYPE_PSYCHIC, 5 - .byte TYPE_FIGHTING, TYPE_BUG, 5 - .byte TYPE_FIGHTING, TYPE_ROCK, 20 - .byte TYPE_FIGHTING, TYPE_DARK, 20 - .byte TYPE_FIGHTING, TYPE_STEEL, 20 - .byte TYPE_POISON, TYPE_GRASS, 20 + .byte TYPE_FIGHTING, TYPE_BUG, 5 + .byte TYPE_FIGHTING, TYPE_ROCK, 20 + .byte TYPE_FIGHTING, TYPE_DARK, 20 + .byte TYPE_FIGHTING, TYPE_STEEL, 20 + .byte TYPE_POISON, TYPE_GRASS, 20 .byte TYPE_POISON, TYPE_POISON, 5 .byte TYPE_POISON, TYPE_GROUND, 5 - .byte TYPE_POISON, TYPE_ROCK, 5 - .byte TYPE_POISON, TYPE_GHOST, 5 - .byte TYPE_POISON, TYPE_STEEL, 0 - .byte TYPE_GROUND, TYPE_FIRE, 20 + .byte TYPE_POISON, TYPE_ROCK, 5 + .byte TYPE_POISON, TYPE_GHOST, 5 + .byte TYPE_POISON, TYPE_STEEL, 0 + .byte TYPE_GROUND, TYPE_FIRE, 20 .byte TYPE_GROUND, TYPE_ELECTRIC, 20 - .byte TYPE_GROUND, TYPE_GRASS, 5 + .byte TYPE_GROUND, TYPE_GRASS, 5 .byte TYPE_GROUND, TYPE_POISON, 20 .byte TYPE_GROUND, TYPE_FLYING, 0 - .byte TYPE_GROUND, TYPE_BUG, 5 - .byte TYPE_GROUND, TYPE_ROCK, 20 - .byte TYPE_GROUND, TYPE_STEEL, 20 + .byte TYPE_GROUND, TYPE_BUG, 5 + .byte TYPE_GROUND, TYPE_ROCK, 20 + .byte TYPE_GROUND, TYPE_STEEL, 20 .byte TYPE_FLYING, TYPE_ELECTRIC, 5 - .byte TYPE_FLYING, TYPE_GRASS, 20 + .byte TYPE_FLYING, TYPE_GRASS, 20 .byte TYPE_FLYING, TYPE_FIGHTING, 20 - .byte TYPE_FLYING, TYPE_BUG, 20 - .byte TYPE_FLYING, TYPE_ROCK, 5 - .byte TYPE_FLYING, TYPE_STEEL, 5 + .byte TYPE_FLYING, TYPE_BUG, 20 + .byte TYPE_FLYING, TYPE_ROCK, 5 + .byte TYPE_FLYING, TYPE_STEEL, 5 .byte TYPE_PSYCHIC, TYPE_FIGHTING, 20 .byte TYPE_PSYCHIC, TYPE_POISON, 20 .byte TYPE_PSYCHIC, TYPE_PSYCHIC, 5 - .byte TYPE_PSYCHIC, TYPE_DARK, 0 - .byte TYPE_PSYCHIC, TYPE_STEEL, 5 - .byte TYPE_BUG, TYPE_FIRE, 5 - .byte TYPE_BUG, TYPE_GRASS, 20 - .byte TYPE_BUG, TYPE_FIGHTING, 5 - .byte TYPE_BUG, TYPE_POISON, 5 - .byte TYPE_BUG, TYPE_FLYING, 5 - .byte TYPE_BUG, TYPE_PSYCHIC, 20 - .byte TYPE_BUG, TYPE_GHOST, 5 - .byte TYPE_BUG, TYPE_DARK, 20 - .byte TYPE_BUG, TYPE_STEEL, 5 - .byte TYPE_ROCK, TYPE_FIRE, 20 - .byte TYPE_ROCK, TYPE_ICE, 20 - .byte TYPE_ROCK, TYPE_FIGHTING, 5 - .byte TYPE_ROCK, TYPE_GROUND, 5 - .byte TYPE_ROCK, TYPE_FLYING, 20 - .byte TYPE_ROCK, TYPE_BUG, 20 - .byte TYPE_ROCK, TYPE_STEEL, 5 - .byte TYPE_GHOST, TYPE_NORMAL, 0 - .byte TYPE_GHOST, TYPE_PSYCHIC, 20 - .byte TYPE_GHOST, TYPE_DARK, 5 - .byte TYPE_GHOST, TYPE_STEEL, 5 - .byte TYPE_GHOST, TYPE_GHOST, 20 + .byte TYPE_PSYCHIC, TYPE_DARK, 0 + .byte TYPE_PSYCHIC, TYPE_STEEL, 5 + .byte TYPE_BUG, TYPE_FIRE, 5 + .byte TYPE_BUG, TYPE_GRASS, 20 + .byte TYPE_BUG, TYPE_FIGHTING, 5 + .byte TYPE_BUG, TYPE_POISON, 5 + .byte TYPE_BUG, TYPE_FLYING, 5 + .byte TYPE_BUG, TYPE_PSYCHIC, 20 + .byte TYPE_BUG, TYPE_GHOST, 5 + .byte TYPE_BUG, TYPE_DARK, 20 + .byte TYPE_BUG, TYPE_STEEL, 5 + .byte TYPE_ROCK, TYPE_FIRE, 20 + .byte TYPE_ROCK, TYPE_ICE, 20 + .byte TYPE_ROCK, TYPE_FIGHTING, 5 + .byte TYPE_ROCK, TYPE_GROUND, 5 + .byte TYPE_ROCK, TYPE_FLYING, 20 + .byte TYPE_ROCK, TYPE_BUG, 20 + .byte TYPE_ROCK, TYPE_STEEL, 5 + .byte TYPE_GHOST, TYPE_NORMAL, 0 + .byte TYPE_GHOST, TYPE_PSYCHIC, 20 + .byte TYPE_GHOST, TYPE_DARK, 5 + .byte TYPE_GHOST, TYPE_STEEL, 5 + .byte TYPE_GHOST, TYPE_GHOST, 20 .byte TYPE_DRAGON, TYPE_DRAGON, 20 - .byte TYPE_DRAGON, TYPE_STEEL, 5 - .byte TYPE_DARK, TYPE_FIGHTING, 5 - .byte TYPE_DARK, TYPE_PSYCHIC, 20 - .byte TYPE_DARK, TYPE_GHOST, 20 - .byte TYPE_DARK, TYPE_DARK, 5 - .byte TYPE_DARK, TYPE_STEEL, 5 - .byte TYPE_STEEL, TYPE_FIRE, 5 - .byte TYPE_STEEL, TYPE_WATER, 5 - .byte TYPE_STEEL, TYPE_ELECTRIC, 5 - .byte TYPE_STEEL, TYPE_ICE, 20 - .byte TYPE_STEEL, TYPE_ROCK, 20 - .byte TYPE_STEEL, TYPE_STEEL, 5 - .byte 0xFE, 0xFE, 0 - .byte TYPE_NORMAL, TYPE_GHOST, 0 - .byte TYPE_FIGHTING, TYPE_GHOST, 0 - .byte 0xFF, 0xFF, 0 + .byte TYPE_DRAGON, TYPE_STEEL, 5 + .byte TYPE_DARK, TYPE_FIGHTING, 5 + .byte TYPE_DARK, TYPE_PSYCHIC, 20 + .byte TYPE_DARK, TYPE_GHOST, 20 + .byte TYPE_DARK, TYPE_DARK, 5 + .byte TYPE_DARK, TYPE_STEEL, 5 + .byte TYPE_STEEL, TYPE_FIRE, 5 + .byte TYPE_STEEL, TYPE_WATER, 5 + .byte TYPE_STEEL, TYPE_ELECTRIC, 5 + .byte TYPE_STEEL, TYPE_ICE, 20 + .byte TYPE_STEEL, TYPE_ROCK, 20 + .byte TYPE_STEEL, TYPE_STEEL, 5 + .byte 0xFE, 0xFE, 0 + .byte TYPE_NORMAL, TYPE_GHOST, 0 + .byte TYPE_FIGHTING, TYPE_GHOST, 0 + .byte 0xFF, 0xFF, 0 diff --git a/data/unk_sprite_file.s b/data/unk_sprite_file.s index 837e87c3f..2d5c9c12a 100644 --- a/data/unk_sprite_file.s +++ b/data/unk_sprite_file.s @@ -7,16 +7,36 @@ gUnknown_0862AD54:: @ 862AD54 .incbin "baserom.gba", 0x62ad54, 0x1dc gUnknown_0862AF30:: @ 862AF30 - .incbin "baserom.gba", 0x62af30, 0x60c + .incbin "baserom.gba", 0x62af30, 0x1AC + +gUnknown_0862B0DC:: @ 862B0DC + .incbin "baserom.gba", 0x62b0dc, 0x460 gUnknown_0862B53C:: @ 862B53C - .incbin "baserom.gba", 0x62b53c, 0x1e8 + .incbin "baserom.gba", 0x62b53c, 0x1E0 + +gUnknown_0862B71C:: @ 862B71C + .incbin "baserom.gba", 0x62b71c, 0x8 gUnknown_0862B724:: @ 862B724 - .incbin "baserom.gba", 0x62b724, 0x8 + obj_tiles gUnknown_0862B0DC, 0x1800, 11920 gUnknown_0862B72C:: @ 862B72C - .incbin "baserom.gba", 0x62b72c, 0x2c + obj_pal gUnknown_0862B53C, 11920 + +gUnknown_0862B734:: @ 862B734 + .incbin "baserom.gba", 0x62b734, 0x8 + +gUnknown_0862B73C:: @ 862B73C + .incbin "baserom.gba", 0x62b73c, 0x8 + +gUnknown_0862B744:: @ 862B744 + .incbin "baserom.gba", 0x62b744, 0x8 + +gUnknown_0862B74C:: @ 862B74C + .4byte gUnknown_0862B734 + .4byte gUnknown_0862B73C + .4byte gUnknown_0862B744 gUnknown_0862B758:: @ 862B758 - .incbin "baserom.gba", 0x62b758, 0x18 + spr_template 11920, 11920, gUnknown_0862B71C, gUnknown_0862B74C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/data/use_pokeblock.s b/data/use_pokeblock.s index a45ea27e1..7a2f26233 100644 --- a/data/use_pokeblock.s +++ b/data/use_pokeblock.s @@ -2,7 +2,7 @@ .include "constants/constants.inc" .section .rodata - + gUnknown_085DFA60:: @ 85DFA60 .incbin "baserom.gba", 0x5dfa60, 0x20 @@ -47,10 +47,10 @@ sContestStatNames:: @ 85DFD04 .4byte gText_Beauty3 gUnknown_085DFD18:: @ 85DFD18 - .incbin "baserom.gba", 0x5dfd18, 0x8 + obj_tiles gUnknown_08DCCD5C, 0x200, 0 gUnknown_085DFD20:: @ 85DFD20 - .incbin "baserom.gba", 0x5dfd20, 0x8 + obj_pal gUnknown_08DCCD3C, 0 gUnknown_085DFD28:: @ 85DFD28 .incbin "baserom.gba", 0x5dfd28, 0x34 @@ -62,4 +62,5 @@ gUnknown_085DFDA0:: @ 85DFDA0 .incbin "baserom.gba", 0x5dfda0, 0x18 gUnknown_085DFDB8:: @ 85DFDB8 - .incbin "baserom.gba", 0x5dfdb8, 0x8 + .4byte gUnknown_08DCCB98 + .4byte 1 diff --git a/data/wild_encounter.s b/data/wild_encounter.s index 0b46e3d35..914471769 100644 --- a/data/wild_encounter.s +++ b/data/wild_encounter.s @@ -1,9 +1,9 @@ #include "constants/species.h" - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata + .align 2, 0 @ 85507E4 .include "data/wild_mons.inc" diff --git a/graphics/unknown/unknown_5B3544.pal b/graphics/unknown/unknown_5B3544.pal deleted file mode 100644 index d6994a324..000000000 --- a/graphics/unknown/unknown_5B3544.pal +++ /dev/null @@ -1,19 +0,0 @@ -JASC-PAL -0100 -16 -115 197 164 -74 74 74 -189 131 156 -230 156 213 -222 238 255 -230 246 255 -148 115 139 -197 213 222 -172 164 189 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 diff --git a/include/bike.h b/include/bike.h new file mode 100644 index 000000000..e625ad438 --- /dev/null +++ b/include/bike.h @@ -0,0 +1,78 @@ +#ifndef GUARD_BIKE_H +#define GUARD_BIKE_H + +// the struct below is used for checking button combinations of the last input so that the acro can potentially perform a side/turn jump. +// its possible that at some point Game Freak intended for the acro bike to have more complex tricks: but only the acro jump combinations can be seen in the final ROM. +struct BikeHistoryInputInfo +{ + u32 dirHistoryMatch; // the direction you need to press + u32 abStartSelectHistoryMatch; // the button you need to press + u32 dirHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked + u32 abStartSelectHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked + const u8 *dirTimerHistoryList; // list of timers to check for direction before the button+dir combination can be verified. + const u8 *abStartSelectHistoryList; // list of timers to check for buttons before the button+dir combination can be verified. + u32 direction; // direction to jump +}; + +// Player speeds +enum +{ + SPEED_STANDING, + SPEED_NORMAL, + SPEED_FAST, + SPEED_FASTER, + SPEED_FASTEST, +}; + +// mach bike transitions enum +enum +{ + MACH_TRANS_FACE_DIRECTION, + MACH_TRANS_TURN_DIRECTION, + MACH_TRANS_KEEP_MOVING, + MACH_TRANS_START_MOVING +}; + +// Acro bike states +enum +{ + ACRO_STATE_NORMAL, + ACRO_STATE_TURNING, + ACRO_STATE_WHEELIE_STANDING, + ACRO_STATE_BUNNY_HOP, + ACRO_STATE_WHEELIE_MOVING, + ACRO_STATE_SIDE_JUMP, + ACRO_STATE_TURN_JUMP, +}; + +// Acro bike transitions +enum +{ + ACRO_TRANS_FACE_DIRECTION, + ACRO_TRANS_TURN_DIRECTION, + ACRO_TRANS_MOVING, + ACRO_TRANS_NORMAL_TO_WHEELIE, + ACRO_TRANS_WHEELIE_TO_NORMAL, + ACRO_TRANS_WHEELIE_IDLE, + ACRO_TRANS_WHEELIE_HOPPING_STANDING, + ACRO_TRANS_WHEELIE_HOPPING_MOVING, + ACRO_TRANS_SIDE_JUMP, + ACRO_TRANS_TURN_JUMP, + ACRO_TRANS_WHEELIE_MOVING, + ACRO_TRANS_WHEELIE_RISING_MOVING, + ACRO_TRANS_WHEELIE_LOWERING_MOVING, +}; + +void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys); +void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys); +bool8 RS_IsRunningDisallowed(u8 tile); +bool8 IsBikingDisallowedByPlayer(void); +bool8 player_should_look_direction_be_enforced_upon_movement(void); +void GetOnOffBike(u8 transitionFlags); +void BikeClearState(int newDirHistory, int newAbStartHistory); +void Bike_UpdateBikeCounterSpeed(u8 counter); +s16 GetPlayerSpeed(void); +void Bike_HandleBumpySlopeJump(void); +bool32 IsRunningDisallowed(u8 metatile); + +#endif // GUARD_BIKE_H diff --git a/include/data/pokedex_orders.h b/include/data/pokedex_orders.h new file mode 100644 index 000000000..61fbd289c --- /dev/null +++ b/include/data/pokedex_orders.h @@ -0,0 +1,1199 @@ +#ifndef GUARD_DATA_POKEDEX_ORDERS +#define GUARD_DATA_POKEDEX_ORDERS + +const u16 gPokedexOrder_Alphabetical[] = +{ + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 63, // Abra + 359, // Absol + 142, // Aerodactyl + 306, // Aggron + 190, // Aipom + 65, // Alakazam + 334, // Altaria + 181, // Ampharos + 347, // Anorith + 24, // Arbok + 59, // Arcanine + 168, // Ariados + 348, // Armaldo + 304, // Aron + 144, // Articuno + 184, // Azumarill + 298, // Azurill + 371, // Bagon + 343, // Baltoy + 354, // Banette + 339, // Barboach + 153, // Bayleef + 267, // Beautifly + 15, // Beedrill + 374, // Beldum + 182, // Bellossom + 69, // Bellsprout + 9, // Blastoise + 257, // Blaziken + 242, // Blissey + 286, // Breloom + 1, // Bulbasaur + 12, // Butterfree + 331, // Cacnea + 332, // Cacturne + 323, // Camerupt + 318, // Carvanha + 268, // Cascoon + 351, // Castform + 10, // Caterpie + 251, // Celebi + 113, // Chansey + 6, // Charizard + 4, // Charmander + 5, // Charmeleon + 152, // Chikorita + 358, // Chimecho + 170, // Chinchou + 366, // Clamperl + 344, // Claydol + 36, // Clefable + 35, // Clefairy + 173, // Cleffa + 91, // Cloyster + 256, // Combusken + 341, // Corphish + 222, // Corsola + 346, // Cradily + 342, // Crawdaunt + 169, // Crobat + 159, // Croconaw + 104, // Cubone + 155, // Cyndaquil + 301, // Delcatty + 225, // Delibird + 386, // Deoxys + 87, // Dewgong + 50, // Diglett + 132, // Ditto + 85, // Dodrio + 84, // Doduo + 232, // Donphan + 148, // Dragonair + 149, // Dragonite + 147, // Dratini + 96, // Drowzee + 51, // Dugtrio + 206, // Dunsparce + 356, // Dusclops + 355, // Duskull + 269, // Dustox + 133, // Eevee + 23, // Ekans + 125, // Electabuzz + 309, // Electrike + 101, // Electrode + 239, // Elekid + 244, // Entei + 196, // Espeon + 102, // Exeggcute + 103, // Exeggutor + 295, // Exploud + 83, // Farfetch'd + 22, // Fearow + 349, // Feebas + 160, // Feraligatr + 180, // Flaaffy + 136, // Flareon + 330, // Flygon + 205, // Forretress + 162, // Furret + 282, // Gardevoir + 92, // Gastly + 94, // Gengar + 74, // Geodude + 203, // Girafarig + 362, // Glalie + 207, // Gligar + 44, // Gloom + 42, // Golbat + 118, // Goldeen + 55, // Golduck + 76, // Golem + 368, // Gorebyss + 210, // Granbull + 75, // Graveler + 88, // Grimer + 383, // Groudon + 253, // Grovyle + 58, // Growlithe + 326, // Grumpig + 316, // Gulpin + 130, // Gyarados + 297, // Hariyama + 93, // Haunter + 214, // Heracross + 107, // Hitmonchan + 106, // Hitmonlee + 237, // Hitmontop + 250, // Ho-Oh + 163, // Hoothoot + 187, // Hoppip + 116, // Horsea + 229, // Houndoom + 228, // Houndour + 367, // Huntail + 97, // Hypno + 174, // Igglybuff + 314, // Illumise + 2, // Ivysaur + 39, // Jigglypuff + 385, // Jirachi + 135, // Jolteon + 189, // Jumpluff + 124, // Jynx + 140, // Kabuto + 141, // Kabutops + 64, // Kadabra + 14, // Kakuna + 115, // Kangaskhan + 352, // Kecleon + 230, // Kingdra + 99, // Kingler + 281, // Kirlia + 109, // Koffing + 98, // Krabby + 382, // Kyogre + 305, // Lairon + 171, // Lanturn + 131, // Lapras + 246, // Larvitar + 380, // Latias + 381, // Latios + 166, // Ledian + 165, // Ledyba + 108, // Lickitung + 345, // Lileep + 264, // Linoone + 271, // Lombre + 270, // Lotad + 294, // Loudred + 272, // Ludicolo + 249, // Lugia + 337, // Lunatone + 370, // Luvdisc + 68, // Machamp + 67, // Machoke + 66, // Machop + 240, // Magby + 219, // Magcargo + 129, // Magikarp + 126, // Magmar + 81, // Magnemite + 82, // Magneton + 296, // Makuhita + 310, // Manectric + 56, // Mankey + 226, // Mantine + 179, // Mareep + 183, // Marill + 105, // Marowak + 259, // Marshtomp + 284, // Masquerain + 303, // Mawile + 308, // Medicham + 307, // Meditite + 154, // Meganium + 52, // Meowth + 376, // Metagross + 375, // Metang + 11, // Metapod + 151, // Mew + 150, // Mewtwo + 262, // Mightyena + 350, // Milotic + 241, // Miltank + 312, // Minun + 200, // Misdreavus + 146, // Moltres + 122, // Mr. mime + 258, // Mudkip + 89, // Muk + 198, // Murkrow + 177, // Natu + 34, // Nidoking + 31, // Nidoqueen + 29, // Nidoran? + 32, // Nidoran? + 30, // Nidorina + 33, // Nidorino + 290, // Nincada + 38, // Ninetales + 291, // Ninjask + 164, // Noctowl + 299, // Nosepass + 322, // Numel + 274, // Nuzleaf + 224, // Octillery + 43, // Oddish + 138, // Omanyte + 139, // Omastar + 95, // Onix + 46, // Paras + 47, // Parasect + 279, // Pelipper + 53, // Persian + 231, // Phanpy + 172, // Pichu + 18, // Pidgeot + 17, // Pidgeotto + 16, // Pidgey + 25, // Pikachu + 221, // Piloswine + 204, // Pineco + 127, // Pinsir + 311, // Plusle + 186, // Politoed + 60, // Poliwag + 61, // Poliwhirl + 62, // Poliwrath + 77, // Ponyta + 261, // Poochyena + 137, // Porygon + 233, // Porygon2 + 57, // Primeape + 54, // Psyduck + 247, // Pupitar + 195, // Quagsire + 156, // Quilava + 211, // Qwilfish + 26, // Raichu + 243, // Raikou + 280, // Ralts + 78, // Rapidash + 20, // Raticate + 19, // Rattata + 384, // Rayquaza + 378, // Regice + 377, // Regirock + 379, // Registeel + 369, // Relicanth + 223, // Remoraid + 112, // Rhydon + 111, // Rhyhorn + 315, // Roselia + 302, // Sableye + 373, // Salamence + 27, // Sandshrew + 28, // Sandslash + 254, // Sceptile + 212, // Scizor + 123, // Scyther + 117, // Seadra + 119, // Seaking + 364, // Sealeo + 273, // Seedot + 86, // Seel + 161, // Sentret + 336, // Seviper + 319, // Sharpedo + 292, // Shedinja + 372, // Shelgon + 90, // Shellder + 275, // Shiftry + 285, // Shroomish + 213, // Shuckle + 353, // Shuppet + 266, // Silcoon + 227, // Skarmory + 188, // Skiploom + 300, // Skitty + 289, // Slaking + 287, // Slakoth + 80, // Slowbro + 199, // Slowking + 79, // Slowpoke + 218, // Slugma + 235, // Smeargle + 238, // Smoochum + 215, // Sneasel + 143, // Snorlax + 361, // Snorunt + 209, // Snubbull + 338, // Solrock + 21, // Spearow + 363, // Spheal + 167, // Spinarak + 327, // Spinda + 325, // Spoink + 7, // Squirtle + 234, // Stantler + 121, // Starmie + 120, // Staryu + 208, // Steelix + 185, // Sudowoodo + 245, // Suicune + 192, // Sunflora + 191, // Sunkern + 283, // Surskit + 333, // Swablu + 317, // Swalot + 260, // Swampert + 277, // Swellow + 220, // Swinub + 276, // Taillow + 114, // Tangela + 128, // Tauros + 216, // Teddiursa + 72, // Tentacool + 73, // Tentacruel + 175, // Togepi + 176, // Togetic + 255, // Torchic + 324, // Torkoal + 158, // Totodile + 328, // Trapinch + 252, // Treecko + 357, // Tropius + 157, // Typhlosion + 248, // Tyranitar + 236, // Tyrogue + 197, // Umbreon + 201, // Unown + 217, // Ursaring + 134, // Vaporeon + 49, // Venomoth + 48, // Venonat + 3, // Venusaur + 329, // Vibrava + 71, // Victreebel + 288, // Vigoroth + 45, // Vileplume + 313, // Volbeat + 100, // Voltorb + 37, // Vulpix + 320, // Wailmer + 321, // Wailord + 365, // Walrein + 8, // Wartortle + 13, // Weedle + 70, // Weepinbell + 110, // Weezing + 340, // Whiscash + 293, // Whismur + 40, // Wigglytuff + 278, // Wingull + 202, // Wobbuffet + 194, // Wooper + 265, // Wurmple + 360, // Wynaut + 178, // Xatu + 193, // Yanma + 335, // Zangoose + 145, // Zapdos + 263, // Zigzagoon + 41, // Zubat +}; + +const u16 gPokedexOrder_Weight[] = +{ + 92, // Gastly + 93, // Haunter + 187, // Hoppip + 50, // Diglett + 351, // Castform + 109, // Koffing + 174, // Igglybuff + 200, // Misdreavus + 358, // Chimecho + 188, // Skiploom + 385, // Jirachi + 333, // Swablu + 292, // Shedinja + 175, // Togepi + 283, // Surskit + 16, // Pidgey + 191, // Sunkern + 339, // Barboach + 172, // Pichu + 298, // Azurill + 315, // Roselia + 177, // Natu + 21, // Spearow + 198, // Murkrow + 353, // Shuppet + 276, // Taillow + 102, // Exeggcute + 255, // Torchic + 270, // Lotad + 10, // Caterpie + 189, // Jumpluff + 173, // Cleffa + 13, // Weedle + 176, // Togetic + 147, // Dratini + 19, // Rattata + 284, // Masquerain + 265, // Wurmple + 211, // Qwilfish + 151, // Mew + 90, // Shellder + 273, // Seedot + 132, // Ditto + 69, // Bellsprout + 311, // Plusle + 52, // Meowth + 312, // Minun + 285, // Shroomish + 251, // Celebi + 222, // Corsola + 252, // Treecko + 327, // Spinda + 201, // Unown + 46, // Paras + 43, // Oddish + 39, // Jigglypuff + 290, // Nincada + 182, // Bellossom + 81, // Magnemite + 25, // Pikachu + 238, // Smoochum + 161, // Sentret + 70, // Weepinbell + 152, // Chikorita + 220, // Swinub + 133, // Eevee + 98, // Krabby + 104, // Cubone + 280, // Ralts + 1, // Bulbasaur + 23, // Ekans + 29, // Nidoran? + 204, // Pineco + 349, // Feebas + 138, // Omanyte + 41, // Zubat + 35, // Clefairy + 258, // Mudkip + 209, // Snubbull + 179, // Mareep + 155, // Cyndaquil + 116, // Horsea + 4, // Charmander + 192, // Sunflora + 183, // Marill + 194, // Wooper + 167, // Spinarak + 44, // Gloom + 370, // Luvdisc + 216, // Teddiursa + 32, // Nidoran? + 7, // Squirtle + 278, // Wingull + 158, // Totodile + 110, // Weezing + 37, // Vulpix + 11, // Metapod + 266, // Silcoon + 129, // Magikarp + 14, // Kakuna + 316, // Gulpin + 100, // Voltorb + 165, // Ledyba + 228, // Houndour + 300, // Skitty + 302, // Sableye + 307, // Meditite + 341, // Corphish + 190, // Aipom + 268, // Cascoon + 303, // Mawile + 140, // Kabuto + 40, // Wigglytuff + 27, // Sandshrew + 223, // Remoraid + 291, // Ninjask + 170, // Chinchou + 60, // Poliwag + 347, // Anorith + 49, // Venomoth + 354, // Banette + 2, // Ivysaur + 180, // Flaaffy + 261, // Poochyena + 360, // Wynaut + 206, // Dunsparce + 178, // Xatu + 355, // Duskull + 83, // Farfetch'd + 328, // Trapinch + 118, // Goldeen + 309, // Electrike + 329, // Vibrava + 71, // Victreebel + 153, // Bayleef + 225, // Delibird + 293, // Whismur + 148, // Dragonair + 361, // Snorunt + 263, // Zigzagoon + 314, // Illumise + 313, // Volbeat + 20, // Raticate + 45, // Vileplume + 156, // Quilava + 5, // Charmeleon + 58, // Growlithe + 256, // Combusken + 66, // Machop + 63, // Abra + 33, // Nidorino + 54, // Psyduck + 277, // Swellow + 38, // Ninetales + 30, // Nidorina + 61, // Poliwhirl + 74, // Geodude + 281, // Kirlia + 213, // Shuckle + 334, // Altaria + 318, // Carvanha + 236, // Tyrogue + 163, // Hoothoot + 240, // Magby + 343, // Baltoy + 253, // Grovyle + 352, // Kecleon + 171, // Lanturn + 8, // Wartortle + 368, // Gorebyss + 369, // Relicanth + 239, // Elekid + 340, // Whiscash + 345, // Lileep + 322, // Numel + 287, // Slakoth + 135, // Jolteon + 159, // Croconaw + 136, // Flareon + 117, // Seadra + 196, // Espeon + 367, // Huntail + 197, // Umbreon + 259, // Marshtomp + 274, // Nuzleaf + 215, // Sneasel + 56, // Mankey + 279, // Pelipper + 267, // Beautifly + 224, // Octillery + 184, // Azumarill + 202, // Wobbuffet + 134, // Vaporeon + 28, // Sandslash + 47, // Parasect + 15, // Beedrill + 89, // Muk + 17, // Pidgeotto + 88, // Grimer + 26, // Raichu + 77, // Ponyta + 125, // Electabuzz + 48, // Venonat + 325, // Spoink + 356, // Dusclops + 308, // Medicham + 269, // Dustox + 53, // Persian + 12, // Butterfree + 57, // Primeape + 96, // Drowzee + 162, // Furret + 233, // Porygon2 + 271, // Lombre + 264, // Linoone + 301, // Delcatty + 342, // Crawdaunt + 51, // Dugtrio + 168, // Ariados + 231, // Phanpy + 186, // Politoed + 120, // Staryu + 113, // Chansey + 139, // Omastar + 114, // Tangela + 218, // Slugma + 229, // Houndoom + 166, // Ledian + 79, // Slowpoke + 137, // Porygon + 262, // Mightyena + 193, // Yanma + 22, // Fearow + 185, // Sudowoodo + 119, // Seaking + 286, // Breloom + 84, // Doduo + 18, // Pidgeot + 363, // Spheal + 36, // Clefable + 380, // Latias + 310, // Manectric + 335, // Zangoose + 141, // Kabutops + 94, // Gengar + 294, // Loudred + 124, // Jynx + 164, // Noctowl + 203, // Girafarig + 371, // Bagon + 126, // Magmar + 105, // Marowak + 72, // Tentacool + 288, // Vigoroth + 242, // Blissey + 359, // Absol + 65, // Alakazam + 237, // Hitmontop + 282, // Gardevoir + 210, // Granbull + 106, // Hitmonlee + 107, // Hitmonchan + 227, // Skarmory + 331, // Cacnea + 257, // Blaziken + 254, // Sceptile + 336, // Seviper + 366, // Clamperl + 145, // Zapdos + 214, // Heracross + 62, // Poliwrath + 122, // Mr. mime + 127, // Pinsir + 272, // Ludicolo + 73, // Tentacruel + 42, // Golbat + 219, // Magcargo + 144, // Articuno + 221, // Piloswine + 123, // Scyther + 64, // Kadabra + 235, // Smeargle + 142, // Aerodactyl + 275, // Shiftry + 99, // Kingler + 31, // Nidoqueen + 82, // Magneton + 304, // Aron + 381, // Latios + 146, // Moltres + 346, // Cradily + 386, // Deoxys + 181, // Ampharos + 34, // Nidoking + 207, // Gligar + 24, // Arbok + 108, // Lickitung + 101, // Electrode + 348, // Armaldo + 67, // Machoke + 234, // Stantler + 326, // Grumpig + 246, // Larvitar + 169, // Crobat + 195, // Quagsire + 241, // Miltank + 97, // Hypno + 55, // Golduck + 332, // Cacturne + 80, // Slowbro + 157, // Typhlosion + 199, // Slowking + 115, // Kangaskhan + 121, // Starmie + 317, // Swalot + 324, // Torkoal + 260, // Swampert + 330, // Flygon + 295, // Exploud + 85, // Dodrio + 9, // Blastoise + 296, // Makuhita + 364, // Sealeo + 128, // Tauros + 319, // Sharpedo + 160, // Feraligatr + 86, // Seel + 6, // Charizard + 78, // Rapidash + 374, // Beldum + 299, // Nosepass + 3, // Venusaur + 357, // Tropius + 154, // Meganium + 373, // Salamence + 75, // Graveler + 344, // Claydol + 372, // Shelgon + 111, // Rhyhorn + 212, // Scizor + 87, // Dewgong + 112, // Rhydon + 232, // Donphan + 103, // Exeggutor + 305, // Lairon + 150, // Mewtwo + 217, // Ursaring + 205, // Forretress + 68, // Machamp + 320, // Wailmer + 289, // Slaking + 91, // Cloyster + 365, // Walrein + 247, // Pupitar + 230, // Kingdra + 338, // Solrock + 59, // Arcanine + 350, // Milotic + 337, // Lunatone + 378, // Regice + 243, // Raikou + 245, // Suicune + 244, // Entei + 250, // Ho-Oh + 248, // Tyranitar + 375, // Metang + 379, // Registeel + 384, // Rayquaza + 95, // Onix + 149, // Dragonite + 249, // Lugia + 131, // Lapras + 323, // Camerupt + 226, // Mantine + 377, // Regirock + 130, // Gyarados + 297, // Hariyama + 362, // Glalie + 76, // Golem + 382, // Kyogre + 306, // Aggron + 321, // Wailord + 208, // Steelix + 143, // Snorlax + 376, // Metagross + 383, // Groudon +}; + +const u16 gPokedexOrder_Height[] = +{ + 50, // Diglett + 298, // Azurill + 177, // Natu + 13, // Weedle + 172, // Pichu + 173, // Cleffa + 175, // Togepi + 351, // Castform + 174, // Igglybuff + 10, // Caterpie + 276, // Taillow + 132, // Ditto + 133, // Eevee + 315, // Roselia + 21, // Spearow + 16, // Pidgey + 191, // Sunkern + 90, // Shellder + 19, // Rattata + 81, // Magnemite + 46, // Paras + 265, // Wurmple + 385, // Jirachi + 104, // Cubone + 258, // Mudkip + 194, // Wooper + 116, // Horsea + 52, // Meowth + 29, // Nidoran? + 220, // Swinub + 151, // Mew + 333, // Swablu + 304, // Aron + 311, // Plusle + 312, // Minun + 102, // Exeggcute + 25, // Pikachu + 182, // Bellossom + 316, // Gulpin + 263, // Zigzagoon + 285, // Shroomish + 138, // Omanyte + 331, // Cacnea + 98, // Krabby + 280, // Ralts + 187, // Hoppip + 255, // Torchic + 366, // Clamperl + 74, // Geodude + 183, // Marill + 339, // Barboach + 238, // Smoochum + 100, // Voltorb + 290, // Nincada + 302, // Sableye + 198, // Murkrow + 211, // Qwilfish + 7, // Squirtle + 252, // Treecko + 343, // Baltoy + 43, // Oddish + 270, // Lotad + 39, // Jigglypuff + 283, // Surskit + 155, // Cyndaquil + 140, // Kabuto + 264, // Linoone + 324, // Torkoal + 32, // Nidoran? + 167, // Spinarak + 56, // Mankey + 273, // Seedot + 261, // Poochyena + 231, // Phanpy + 201, // Unown + 170, // Chinchou + 233, // Porygon2 + 60, // Poliwag + 371, // Bagon + 349, // Feebas + 353, // Shuppet + 158, // Totodile + 251, // Celebi + 360, // Wynaut + 27, // Sandshrew + 358, // Chimecho + 370, // Luvdisc + 228, // Houndour + 266, // Silcoon + 309, // Electrike + 4, // Charmander + 307, // Meditite + 278, // Wingull + 223, // Remoraid + 341, // Corphish + 222, // Corsola + 314, // Illumise + 209, // Snubbull + 37, // Vulpix + 246, // Larvitar + 374, // Beldum + 293, // Whismur + 204, // Pineco + 239, // Elekid + 35, // Clefairy + 213, // Shuckle + 216, // Teddiursa + 14, // Kakuna + 300, // Skitty + 176, // Togetic + 118, // Goldeen + 303, // Mawile + 179, // Mareep + 188, // Skiploom + 109, // Koffing + 51, // Dugtrio + 268, // Cascoon + 322, // Numel + 347, // Anorith + 313, // Volbeat + 163, // Hoothoot + 328, // Trapinch + 325, // Spoink + 11, // Metapod + 69, // Bellsprout + 361, // Snorunt + 20, // Raticate + 259, // Marshtomp + 277, // Swellow + 240, // Magby + 58, // Growlithe + 200, // Misdreavus + 1, // Bulbasaur + 236, // Tyrogue + 218, // Slugma + 287, // Slakoth + 281, // Kirlia + 190, // Aipom + 135, // Jolteon + 30, // Nidorina + 184, // Azumarill + 292, // Shedinja + 66, // Machop + 291, // Ninjask + 284, // Masquerain + 355, // Duskull + 192, // Sunflora + 189, // Jumpluff + 120, // Staryu + 180, // Flaaffy + 363, // Spheal + 54, // Psyduck + 219, // Magcargo + 83, // Farfetch'd + 41, // Zubat + 137, // Porygon + 161, // Sentret + 318, // Carvanha + 44, // Gloom + 26, // Raichu + 129, // Magikarp + 215, // Sneasel + 305, // Lairon + 256, // Combusken + 224, // Octillery + 33, // Nidorino + 136, // Flareon + 225, // Delibird + 72, // Tentacool + 63, // Abra + 253, // Grovyle + 340, // Whiscash + 156, // Quilava + 196, // Espeon + 88, // Grimer + 152, // Chikorita + 326, // Grumpig + 299, // Nosepass + 53, // Persian + 262, // Mightyena + 48, // Venonat + 82, // Magneton + 77, // Ponyta + 296, // Makuhita + 337, // Lunatone + 28, // Sandslash + 96, // Drowzee + 114, // Tangela + 57, // Primeape + 165, // Ledyba + 40, // Wigglytuff + 47, // Parasect + 139, // Omastar + 294, // Loudred + 8, // Wartortle + 75, // Graveler + 197, // Umbreon + 345, // Lileep + 61, // Poliwhirl + 134, // Vaporeon + 15, // Beedrill + 105, // Marowak + 70, // Weepinbell + 369, // Relicanth + 111, // Rhyhorn + 2, // Ivysaur + 352, // Kecleon + 274, // Nuzleaf + 267, // Beautifly + 17, // Pidgeotto + 168, // Ariados + 86, // Seel + 186, // Politoed + 159, // Croconaw + 113, // Chansey + 354, // Banette + 232, // Donphan + 121, // Starmie + 5, // Charmeleon + 221, // Piloswine + 12, // Butterfree + 329, // Vibrava + 125, // Electabuzz + 342, // Crawdaunt + 301, // Delcatty + 334, // Altaria + 372, // Shelgon + 38, // Ninetales + 207, // Gligar + 364, // Sealeo + 327, // Spinda + 247, // Pupitar + 79, // Slowpoke + 338, // Solrock + 241, // Miltank + 22, // Fearow + 45, // Vileplume + 89, // Muk + 205, // Forretress + 185, // Sudowoodo + 359, // Absol + 193, // Yanma + 269, // Dustox + 108, // Lickitung + 235, // Smeargle + 171, // Lanturn + 101, // Electrode + 271, // Lombre + 286, // Breloom + 153, // Bayleef + 117, // Seadra + 110, // Weezing + 279, // Pelipper + 375, // Metang + 31, // Nidoqueen + 332, // Cacturne + 275, // Shiftry + 308, // Medicham + 335, // Zangoose + 141, // Kabutops + 99, // Kingler + 64, // Kadabra + 119, // Seaking + 36, // Clefable + 126, // Magmar + 202, // Wobbuffet + 92, // Gastly + 122, // Mr. mime + 62, // Poliwrath + 128, // Tauros + 380, // Latias + 181, // Ampharos + 288, // Vigoroth + 166, // Ledian + 76, // Golem + 365, // Walrein + 84, // Doduo + 229, // Houndoom + 34, // Nidoking + 124, // Jynx + 107, // Hitmonchan + 234, // Stantler + 210, // Granbull + 237, // Hitmontop + 195, // Quagsire + 344, // Claydol + 260, // Swampert + 242, // Blissey + 272, // Ludicolo + 295, // Exploud + 206, // Dunsparce + 127, // Pinsir + 91, // Cloyster + 67, // Machoke + 203, // Girafarig + 18, // Pidgeot + 178, // Xatu + 346, // Cradily + 106, // Hitmonlee + 49, // Venomoth + 94, // Gengar + 214, // Heracross + 362, // Glalie + 123, // Scyther + 373, // Salamence + 310, // Manectric + 348, // Armaldo + 65, // Alakazam + 97, // Hypno + 164, // Noctowl + 73, // Tentacruel + 356, // Dusclops + 145, // Zapdos + 42, // Golbat + 376, // Metagross + 282, // Gardevoir + 9, // Blastoise + 80, // Slowbro + 93, // Haunter + 68, // Machamp + 377, // Regirock + 317, // Swalot + 254, // Sceptile + 227, // Skarmory + 55, // Golduck + 386, // Deoxys + 71, // Victreebel + 78, // Rapidash + 6, // Charizard + 367, // Huntail + 87, // Dewgong + 144, // Articuno + 157, // Typhlosion + 142, // Aerodactyl + 368, // Gorebyss + 217, // Ursaring + 154, // Meganium + 378, // Regice + 212, // Scizor + 230, // Kingdra + 147, // Dratini + 85, // Dodrio + 319, // Sharpedo + 169, // Crobat + 162, // Furret + 59, // Arcanine + 243, // Raikou + 257, // Blaziken + 323, // Camerupt + 112, // Rhydon + 379, // Registeel + 23, // Ekans + 330, // Flygon + 357, // Tropius + 381, // Latios + 245, // Suicune + 146, // Moltres + 3, // Venusaur + 103, // Exeggutor + 199, // Slowking + 248, // Tyranitar + 289, // Slaking + 320, // Wailmer + 150, // Mewtwo + 306, // Aggron + 143, // Snorlax + 226, // Mantine + 244, // Entei + 149, // Dragonite + 115, // Kangaskhan + 297, // Hariyama + 160, // Feraligatr + 131, // Lapras + 336, // Seviper + 24, // Arbok + 383, // Groudon + 250, // Ho-Oh + 148, // Dragonair + 382, // Kyogre + 249, // Lugia + 350, // Milotic + 130, // Gyarados + 384, // Rayquaza + 95, // Onix + 208, // Steelix + 321, // Wailord +}; + +#endif // GUARD_DATA_POKEDEX_ORDERS diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index a3c40bc42..cc4c65448 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -9,6 +9,27 @@ void PlayerGetDestCoords(s16 *, s16 *); u8 player_get_direction_lower_nybble(void); u8 player_get_direction_upper_nybble(void); u8 player_get_x22(void); +void PlayerGoSpeed1(u8); +void PlayerGoSpeed2(u8); +void PlayerGoSpeed3(u8); +void PlayerGoSpeed4(u8); +void PlayerOnBikeCollide(u8); +void PlayerFaceDirection(u8 a); +void PlayerTurnInPlace(u8 a); +void PlayerJumpLedge(u8 a); +void PlayerIdleWheelie(u8 a); +void PlayerStartWheelie(u8 a); +void PlayerEndWheelie(u8 a); +void PlayerStandingHoppingWheelie(u8 a); +void PlayerMovingHoppingWheelie(u8 a); +void PlayerLedgeHoppingWheelie(u8 a); +void PlayerAcroTurnJump(u8 a); +void PlayerSetAnimId(u8 a, u8 b); +bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction); +void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction); +u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e); +u8 PlayerGetZCoord(void); +void SetPlayerAvatarTransitionFlags(u16 a); void sub_808BCE8(void); void sub_808D074(u8); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 3e9f13523..b12febefd 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -299,25 +299,42 @@ enum COLLISION_LEDGE_JUMP = 6 }; -struct PlayerAvatar /* 0x202E858 */ +// player running states +enum +{ + NOT_MOVING, + TURN_DIRECTION, // not the same as turning! turns your avatar without moving. also known as a turn frame in some circles + MOVING, +}; + +// player tile transition states +enum +{ + T_NOT_MOVING, + T_TILE_TRANSITION, + T_TILE_CENTER, // player is on a frame in which they are centered on a tile during which the player either stops or keeps their momentum and keeps going, changing direction if necessary. +}; + +struct PlayerAvatar { /*0x00*/ u8 flags; - /*0x01*/ u8 bike; - /*0x02*/ u8 running2; - /*0x03*/ u8 running1; + /*0x01*/ u8 unk1; // used to be named bike, but its definitely not that. seems to be some transition flags + /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving. + /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning. /*0x04*/ u8 spriteId; /*0x05*/ u8 mapObjectId; - /*0x06*/ u8 unk6; + /*0x06*/ bool8 preventStep; /*0x07*/ u8 gender; - u8 acroBikeState; - u8 unk9; - u8 bikeFrameCounter; - u8 unkB; - u32 unkC; - u32 unk10; - u8 unk14[8]; - u8 unk1C[8]; - // TODO: rest of struct + /*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie + /*0x09*/ u8 newDirBackup; // during bike movement, the new direction as opposed to player's direction is backed up here. + /*0x0A*/ u8 bikeFrameCounter; // on the mach bike, when this value is 1, the bike is moving but not accelerating yet for 1 tile. on the acro bike, this acts as a timer for acro bike. + /*0x0B*/ u8 bikeSpeed; + // acro bike only + /*0x0C*/ u32 directionHistory; // up/down/left/right history is stored in each nybble, but using the field directions and not the io inputs. + /*0x10*/ u32 abStartSelectHistory; // same as above but for A + B + start + select only + // these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update. + /*0x14*/ u8 dirTimerHistory[8]; + /*0x1C*/ u8 abStartSelectTimerHistory[8]; }; struct Camera diff --git a/include/graphics.h b/include/graphics.h index 0a38c9b82..8f58a5f7e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -28,6 +28,2415 @@ extern const u8 gInterfaceGfx_PremierBall[]; extern const u8 gInterfacePal_PremierBall[]; extern const u8 gOpenPokeballGfx[]; +// pokemon gfx +extern const u8 gMonFrontPic_Bulbasaur[]; +extern const u8 gMonPalette_Bulbasaur[]; +extern const u8 gMonBackPic_Bulbasaur[]; +extern const u8 gMonShinyPalette_Bulbasaur[]; +extern const u8 gMonIcon_Bulbasaur[]; +extern const u8 gMonFootprint_Bulbasaur[]; +extern const u8 gMonFrontPic_Ivysaur[]; +extern const u8 gMonPalette_Ivysaur[]; +extern const u8 gMonBackPic_Ivysaur[]; +extern const u8 gMonShinyPalette_Ivysaur[]; +extern const u8 gMonIcon_Ivysaur[]; +extern const u8 gMonFootprint_Ivysaur[]; +extern const u8 gMonFrontPic_Venusaur[]; +extern const u8 gMonPalette_Venusaur[]; +extern const u8 gMonBackPic_Venusaur[]; +extern const u8 gMonShinyPalette_Venusaur[]; +extern const u8 gMonIcon_Venusaur[]; +extern const u8 gMonFootprint_Venusaur[]; +extern const u8 gMonFrontPic_Charmander[]; +extern const u8 gMonPalette_Charmander[]; +extern const u8 gMonBackPic_Charmander[]; +extern const u8 gMonShinyPalette_Charmander[]; +extern const u8 gMonIcon_Charmander[]; +extern const u8 gMonFootprint_Charmander[]; +extern const u8 gMonFrontPic_Charmeleon[]; +extern const u8 gMonPalette_Charmeleon[]; +extern const u8 gMonBackPic_Charmeleon[]; +extern const u8 gMonShinyPalette_Charmeleon[]; +extern const u8 gMonIcon_Charmeleon[]; +extern const u8 gMonFootprint_Charmeleon[]; +extern const u8 gMonFrontPic_Charizard[]; +extern const u8 gMonPalette_Charizard[]; +extern const u8 gMonBackPic_Charizard[]; +extern const u8 gMonShinyPalette_Charizard[]; +extern const u8 gMonIcon_Charizard[]; +extern const u8 gMonFootprint_Charizard[]; +extern const u8 gMonFrontPic_Squirtle[]; +extern const u8 gMonPalette_Squirtle[]; +extern const u8 gMonBackPic_Squirtle[]; +extern const u8 gMonShinyPalette_Squirtle[]; +extern const u8 gMonIcon_Squirtle[]; +extern const u8 gMonFootprint_Squirtle[]; +extern const u8 gMonFrontPic_Wartortle[]; +extern const u8 gMonPalette_Wartortle[]; +extern const u8 gMonBackPic_Wartortle[]; +extern const u8 gMonShinyPalette_Wartortle[]; +extern const u8 gMonIcon_Wartortle[]; +extern const u8 gMonFootprint_Wartortle[]; +extern const u8 gMonFrontPic_Blastoise[]; +extern const u8 gMonPalette_Blastoise[]; +extern const u8 gMonBackPic_Blastoise[]; +extern const u8 gMonShinyPalette_Blastoise[]; +extern const u8 gMonIcon_Blastoise[]; +extern const u8 gMonFootprint_Blastoise[]; +extern const u8 gMonFrontPic_Caterpie[]; +extern const u8 gMonPalette_Caterpie[]; +extern const u8 gMonBackPic_Caterpie[]; +extern const u8 gMonShinyPalette_Caterpie[]; +extern const u8 gMonIcon_Caterpie[]; +extern const u8 gMonFootprint_Caterpie[]; +extern const u8 gMonFrontPic_Metapod[]; +extern const u8 gMonPalette_Metapod[]; +extern const u8 gMonBackPic_Metapod[]; +extern const u8 gMonShinyPalette_Metapod[]; +extern const u8 gMonIcon_Metapod[]; +extern const u8 gMonFootprint_Metapod[]; +extern const u8 gMonFrontPic_Butterfree[]; +extern const u8 gMonPalette_Butterfree[]; +extern const u8 gMonBackPic_Butterfree[]; +extern const u8 gMonShinyPalette_Butterfree[]; +extern const u8 gMonIcon_Butterfree[]; +extern const u8 gMonFootprint_Butterfree[]; +extern const u8 gMonFrontPic_Weedle[]; +extern const u8 gMonPalette_Weedle[]; +extern const u8 gMonBackPic_Weedle[]; +extern const u8 gMonShinyPalette_Weedle[]; +extern const u8 gMonIcon_Weedle[]; +extern const u8 gMonFootprint_Weedle[]; +extern const u8 gMonFrontPic_Kakuna[]; +extern const u8 gMonPalette_Kakuna[]; +extern const u8 gMonBackPic_Kakuna[]; +extern const u8 gMonShinyPalette_Kakuna[]; +extern const u8 gMonIcon_Kakuna[]; +extern const u8 gMonFootprint_Kakuna[]; +extern const u8 gMonFrontPic_Beedrill[]; +extern const u8 gMonPalette_Beedrill[]; +extern const u8 gMonBackPic_Beedrill[]; +extern const u8 gMonShinyPalette_Beedrill[]; +extern const u8 gMonIcon_Beedrill[]; +extern const u8 gMonFootprint_Beedrill[]; +extern const u8 gMonFrontPic_Pidgey[]; +extern const u8 gMonPalette_Pidgey[]; +extern const u8 gMonBackPic_Pidgey[]; +extern const u8 gMonShinyPalette_Pidgey[]; +extern const u8 gMonIcon_Pidgey[]; +extern const u8 gMonFootprint_Pidgey[]; +extern const u8 gMonFrontPic_Pidgeotto[]; +extern const u8 gMonPalette_Pidgeotto[]; +extern const u8 gMonBackPic_Pidgeotto[]; +extern const u8 gMonShinyPalette_Pidgeotto[]; +extern const u8 gMonIcon_Pidgeotto[]; +extern const u8 gMonFootprint_Pidgeotto[]; +extern const u8 gMonFrontPic_Pidgeot[]; +extern const u8 gMonPalette_Pidgeot[]; +extern const u8 gMonBackPic_Pidgeot[]; +extern const u8 gMonShinyPalette_Pidgeot[]; +extern const u8 gMonIcon_Pidgeot[]; +extern const u8 gMonFootprint_Pidgeot[]; +extern const u8 gMonFrontPic_Rattata[]; +extern const u8 gMonPalette_Rattata[]; +extern const u8 gMonBackPic_Rattata[]; +extern const u8 gMonShinyPalette_Rattata[]; +extern const u8 gMonIcon_Rattata[]; +extern const u8 gMonFootprint_Rattata[]; +extern const u8 gMonFrontPic_Raticate[]; +extern const u8 gMonPalette_Raticate[]; +extern const u8 gMonBackPic_Raticate[]; +extern const u8 gMonShinyPalette_Raticate[]; +extern const u8 gMonIcon_Raticate[]; +extern const u8 gMonFootprint_Raticate[]; +extern const u8 gMonFrontPic_Spearow[]; +extern const u8 gMonPalette_Spearow[]; +extern const u8 gMonBackPic_Spearow[]; +extern const u8 gMonShinyPalette_Spearow[]; +extern const u8 gMonIcon_Spearow[]; +extern const u8 gMonFootprint_Spearow[]; +extern const u8 gMonFrontPic_Fearow[]; +extern const u8 gMonPalette_Fearow[]; +extern const u8 gMonBackPic_Fearow[]; +extern const u8 gMonShinyPalette_Fearow[]; +extern const u8 gMonIcon_Fearow[]; +extern const u8 gMonFootprint_Fearow[]; +extern const u8 gMonFrontPic_Ekans[]; +extern const u8 gMonPalette_Ekans[]; +extern const u8 gMonBackPic_Ekans[]; +extern const u8 gMonShinyPalette_Ekans[]; +extern const u8 gMonIcon_Ekans[]; +extern const u8 gMonFootprint_Ekans[]; +extern const u8 gMonFrontPic_Arbok[]; +extern const u8 gMonPalette_Arbok[]; +extern const u8 gMonBackPic_Arbok[]; +extern const u8 gMonShinyPalette_Arbok[]; +extern const u8 gMonIcon_Arbok[]; +extern const u8 gMonFootprint_Arbok[]; +extern const u8 gMonFrontPic_Pikachu[]; +extern const u8 gMonPalette_Pikachu[]; +extern const u8 gMonBackPic_Pikachu[]; +extern const u8 gMonShinyPalette_Pikachu[]; +extern const u8 gMonIcon_Pikachu[]; +extern const u8 gMonFootprint_Pikachu[]; +extern const u8 gMonFrontPic_Raichu[]; +extern const u8 gMonPalette_Raichu[]; +extern const u8 gMonBackPic_Raichu[]; +extern const u8 gMonShinyPalette_Raichu[]; +extern const u8 gMonIcon_Raichu[]; +extern const u8 gMonFootprint_Raichu[]; +extern const u8 gMonFrontPic_Sandshrew[]; +extern const u8 gMonPalette_Sandshrew[]; +extern const u8 gMonBackPic_Sandshrew[]; +extern const u8 gMonShinyPalette_Sandshrew[]; +extern const u8 gMonIcon_Sandshrew[]; +extern const u8 gMonFootprint_Sandshrew[]; +extern const u8 gMonFrontPic_Sandslash[]; +extern const u8 gMonPalette_Sandslash[]; +extern const u8 gMonBackPic_Sandslash[]; +extern const u8 gMonShinyPalette_Sandslash[]; +extern const u8 gMonIcon_Sandslash[]; +extern const u8 gMonFootprint_Sandslash[]; +extern const u8 gMonFrontPic_NidoranF[]; +extern const u8 gMonPalette_NidoranF[]; +extern const u8 gMonBackPic_NidoranF[]; +extern const u8 gMonShinyPalette_NidoranF[]; +extern const u8 gMonIcon_NidoranF[]; +extern const u8 gMonFootprint_NidoranF[]; +extern const u8 gMonFrontPic_Nidorina[]; +extern const u8 gMonPalette_Nidorina[]; +extern const u8 gMonBackPic_Nidorina[]; +extern const u8 gMonShinyPalette_Nidorina[]; +extern const u8 gMonIcon_Nidorina[]; +extern const u8 gMonFootprint_Nidorina[]; +extern const u8 gMonFrontPic_Nidoqueen[]; +extern const u8 gMonPalette_Nidoqueen[]; +extern const u8 gMonBackPic_Nidoqueen[]; +extern const u8 gMonShinyPalette_Nidoqueen[]; +extern const u8 gMonIcon_Nidoqueen[]; +extern const u8 gMonFootprint_Nidoqueen[]; +extern const u8 gMonFrontPic_NidoranM[]; +extern const u8 gMonPalette_NidoranM[]; +extern const u8 gMonBackPic_NidoranM[]; +extern const u8 gMonShinyPalette_NidoranM[]; +extern const u8 gMonIcon_NidoranM[]; +extern const u8 gMonFootprint_NidoranM[]; +extern const u8 gMonFrontPic_Nidorino[]; +extern const u8 gMonPalette_Nidorino[]; +extern const u8 gMonBackPic_Nidorino[]; +extern const u8 gMonShinyPalette_Nidorino[]; +extern const u8 gMonIcon_Nidorino[]; +extern const u8 gMonFootprint_Nidorino[]; +extern const u8 gMonFrontPic_Nidoking[]; +extern const u8 gMonPalette_Nidoking[]; +extern const u8 gMonBackPic_Nidoking[]; +extern const u8 gMonShinyPalette_Nidoking[]; +extern const u8 gMonIcon_Nidoking[]; +extern const u8 gMonFootprint_Nidoking[]; +extern const u8 gMonFrontPic_Clefairy[]; +extern const u8 gMonPalette_Clefairy[]; +extern const u8 gMonBackPic_Clefairy[]; +extern const u8 gMonShinyPalette_Clefairy[]; +extern const u8 gMonIcon_Clefairy[]; +extern const u8 gMonFootprint_Clefairy[]; +extern const u8 gMonFrontPic_Clefable[]; +extern const u8 gMonPalette_Clefable[]; +extern const u8 gMonBackPic_Clefable[]; +extern const u8 gMonShinyPalette_Clefable[]; +extern const u8 gMonIcon_Clefable[]; +extern const u8 gMonFootprint_Clefable[]; +extern const u8 gMonFrontPic_Vulpix[]; +extern const u8 gMonPalette_Vulpix[]; +extern const u8 gMonBackPic_Vulpix[]; +extern const u8 gMonShinyPalette_Vulpix[]; +extern const u8 gMonIcon_Vulpix[]; +extern const u8 gMonFootprint_Vulpix[]; +extern const u8 gMonFrontPic_Ninetales[]; +extern const u8 gMonPalette_Ninetales[]; +extern const u8 gMonBackPic_Ninetales[]; +extern const u8 gMonShinyPalette_Ninetales[]; +extern const u8 gMonIcon_Ninetales[]; +extern const u8 gMonFootprint_Ninetales[]; +extern const u8 gMonFrontPic_Jigglypuff[]; +extern const u8 gMonPalette_Jigglypuff[]; +extern const u8 gMonBackPic_Jigglypuff[]; +extern const u8 gMonShinyPalette_Jigglypuff[]; +extern const u8 gMonIcon_Jigglypuff[]; +extern const u8 gMonFootprint_Jigglypuff[]; +extern const u8 gMonFrontPic_Wigglytuff[]; +extern const u8 gMonPalette_Wigglytuff[]; +extern const u8 gMonBackPic_Wigglytuff[]; +extern const u8 gMonShinyPalette_Wigglytuff[]; +extern const u8 gMonIcon_Wigglytuff[]; +extern const u8 gMonFootprint_Wigglytuff[]; +extern const u8 gMonFrontPic_Zubat[]; +extern const u8 gMonPalette_Zubat[]; +extern const u8 gMonBackPic_Zubat[]; +extern const u8 gMonShinyPalette_Zubat[]; +extern const u8 gMonIcon_Zubat[]; +extern const u8 gMonFootprint_Zubat[]; +extern const u8 gMonFrontPic_Golbat[]; +extern const u8 gMonPalette_Golbat[]; +extern const u8 gMonBackPic_Golbat[]; +extern const u8 gMonShinyPalette_Golbat[]; +extern const u8 gMonIcon_Golbat[]; +extern const u8 gMonFootprint_Golbat[]; +extern const u8 gMonFrontPic_Oddish[]; +extern const u8 gMonPalette_Oddish[]; +extern const u8 gMonBackPic_Oddish[]; +extern const u8 gMonShinyPalette_Oddish[]; +extern const u8 gMonIcon_Oddish[]; +extern const u8 gMonFootprint_Oddish[]; +extern const u8 gMonFrontPic_Gloom[]; +extern const u8 gMonPalette_Gloom[]; +extern const u8 gMonBackPic_Gloom[]; +extern const u8 gMonShinyPalette_Gloom[]; +extern const u8 gMonIcon_Gloom[]; +extern const u8 gMonFootprint_Gloom[]; +extern const u8 gMonFrontPic_Vileplume[]; +extern const u8 gMonPalette_Vileplume[]; +extern const u8 gMonBackPic_Vileplume[]; +extern const u8 gMonShinyPalette_Vileplume[]; +extern const u8 gMonIcon_Vileplume[]; +extern const u8 gMonFootprint_Vileplume[]; +extern const u8 gMonFrontPic_Paras[]; +extern const u8 gMonPalette_Paras[]; +extern const u8 gMonBackPic_Paras[]; +extern const u8 gMonShinyPalette_Paras[]; +extern const u8 gMonIcon_Paras[]; +extern const u8 gMonFootprint_Paras[]; +extern const u8 gMonFrontPic_Parasect[]; +extern const u8 gMonPalette_Parasect[]; +extern const u8 gMonBackPic_Parasect[]; +extern const u8 gMonShinyPalette_Parasect[]; +extern const u8 gMonIcon_Parasect[]; +extern const u8 gMonFootprint_Parasect[]; +extern const u8 gMonFrontPic_Venonat[]; +extern const u8 gMonPalette_Venonat[]; +extern const u8 gMonBackPic_Venonat[]; +extern const u8 gMonShinyPalette_Venonat[]; +extern const u8 gMonIcon_Venonat[]; +extern const u8 gMonFootprint_Venonat[]; +extern const u8 gMonFrontPic_Venomoth[]; +extern const u8 gMonPalette_Venomoth[]; +extern const u8 gMonBackPic_Venomoth[]; +extern const u8 gMonShinyPalette_Venomoth[]; +extern const u8 gMonIcon_Venomoth[]; +extern const u8 gMonFootprint_Venomoth[]; +extern const u8 gMonFrontPic_Diglett[]; +extern const u8 gMonPalette_Diglett[]; +extern const u8 gMonBackPic_Diglett[]; +extern const u8 gMonShinyPalette_Diglett[]; +extern const u8 gMonIcon_Diglett[]; +extern const u8 gMonFootprint_Diglett[]; +extern const u8 gMonFrontPic_Dugtrio[]; +extern const u8 gMonPalette_Dugtrio[]; +extern const u8 gMonBackPic_Dugtrio[]; +extern const u8 gMonShinyPalette_Dugtrio[]; +extern const u8 gMonIcon_Dugtrio[]; +extern const u8 gMonFootprint_Dugtrio[]; +extern const u8 gMonFrontPic_Meowth[]; +extern const u8 gMonPalette_Meowth[]; +extern const u8 gMonBackPic_Meowth[]; +extern const u8 gMonShinyPalette_Meowth[]; +extern const u8 gMonIcon_Meowth[]; +extern const u8 gMonFootprint_Meowth[]; +extern const u8 gMonFrontPic_Persian[]; +extern const u8 gMonPalette_Persian[]; +extern const u8 gMonBackPic_Persian[]; +extern const u8 gMonShinyPalette_Persian[]; +extern const u8 gMonIcon_Persian[]; +extern const u8 gMonFootprint_Persian[]; +extern const u8 gMonFrontPic_Psyduck[]; +extern const u8 gMonPalette_Psyduck[]; +extern const u8 gMonBackPic_Psyduck[]; +extern const u8 gMonShinyPalette_Psyduck[]; +extern const u8 gMonIcon_Psyduck[]; +extern const u8 gMonFootprint_Psyduck[]; +extern const u8 gMonFrontPic_Golduck[]; +extern const u8 gMonPalette_Golduck[]; +extern const u8 gMonBackPic_Golduck[]; +extern const u8 gMonShinyPalette_Golduck[]; +extern const u8 gMonIcon_Golduck[]; +extern const u8 gMonFootprint_Golduck[]; +extern const u8 gMonFrontPic_Mankey[]; +extern const u8 gMonPalette_Mankey[]; +extern const u8 gMonBackPic_Mankey[]; +extern const u8 gMonShinyPalette_Mankey[]; +extern const u8 gMonIcon_Mankey[]; +extern const u8 gMonFootprint_Mankey[]; +extern const u8 gMonFrontPic_Primeape[]; +extern const u8 gMonPalette_Primeape[]; +extern const u8 gMonBackPic_Primeape[]; +extern const u8 gMonShinyPalette_Primeape[]; +extern const u8 gMonIcon_Primeape[]; +extern const u8 gMonFootprint_Primeape[]; +extern const u8 gMonFrontPic_Growlithe[]; +extern const u8 gMonPalette_Growlithe[]; +extern const u8 gMonBackPic_Growlithe[]; +extern const u8 gMonShinyPalette_Growlithe[]; +extern const u8 gMonIcon_Growlithe[]; +extern const u8 gMonFootprint_Growlithe[]; +extern const u8 gMonFrontPic_Arcanine[]; +extern const u8 gMonPalette_Arcanine[]; +extern const u8 gMonBackPic_Arcanine[]; +extern const u8 gMonShinyPalette_Arcanine[]; +extern const u8 gMonIcon_Arcanine[]; +extern const u8 gMonFootprint_Arcanine[]; +extern const u8 gMonFrontPic_Poliwag[]; +extern const u8 gMonPalette_Poliwag[]; +extern const u8 gMonBackPic_Poliwag[]; +extern const u8 gMonShinyPalette_Poliwag[]; +extern const u8 gMonIcon_Poliwag[]; +extern const u8 gMonFootprint_Poliwag[]; +extern const u8 gMonFrontPic_Poliwhirl[]; +extern const u8 gMonPalette_Poliwhirl[]; +extern const u8 gMonBackPic_Poliwhirl[]; +extern const u8 gMonShinyPalette_Poliwhirl[]; +extern const u8 gMonIcon_Poliwhirl[]; +extern const u8 gMonFootprint_Poliwhirl[]; +extern const u8 gMonFrontPic_Poliwrath[]; +extern const u8 gMonPalette_Poliwrath[]; +extern const u8 gMonBackPic_Poliwrath[]; +extern const u8 gMonShinyPalette_Poliwrath[]; +extern const u8 gMonIcon_Poliwrath[]; +extern const u8 gMonFootprint_Poliwrath[]; +extern const u8 gMonFrontPic_Abra[]; +extern const u8 gMonPalette_Abra[]; +extern const u8 gMonBackPic_Abra[]; +extern const u8 gMonShinyPalette_Abra[]; +extern const u8 gMonIcon_Abra[]; +extern const u8 gMonFootprint_Abra[]; +extern const u8 gMonFrontPic_Kadabra[]; +extern const u8 gMonPalette_Kadabra[]; +extern const u8 gMonBackPic_Kadabra[]; +extern const u8 gMonShinyPalette_Kadabra[]; +extern const u8 gMonIcon_Kadabra[]; +extern const u8 gMonFootprint_Kadabra[]; +extern const u8 gMonFrontPic_Alakazam[]; +extern const u8 gMonPalette_Alakazam[]; +extern const u8 gMonBackPic_Alakazam[]; +extern const u8 gMonShinyPalette_Alakazam[]; +extern const u8 gMonIcon_Alakazam[]; +extern const u8 gMonFootprint_Alakazam[]; +extern const u8 gMonFrontPic_Machop[]; +extern const u8 gMonPalette_Machop[]; +extern const u8 gMonBackPic_Machop[]; +extern const u8 gMonShinyPalette_Machop[]; +extern const u8 gMonIcon_Machop[]; +extern const u8 gMonFootprint_Machop[]; +extern const u8 gMonFrontPic_Machoke[]; +extern const u8 gMonPalette_Machoke[]; +extern const u8 gMonBackPic_Machoke[]; +extern const u8 gMonShinyPalette_Machoke[]; +extern const u8 gMonIcon_Machoke[]; +extern const u8 gMonFootprint_Machoke[]; +extern const u8 gMonFrontPic_Machamp[]; +extern const u8 gMonPalette_Machamp[]; +extern const u8 gMonBackPic_Machamp[]; +extern const u8 gMonShinyPalette_Machamp[]; +extern const u8 gMonIcon_Machamp[]; +extern const u8 gMonFootprint_Machamp[]; +extern const u8 gMonFrontPic_Bellsprout[]; +extern const u8 gMonPalette_Bellsprout[]; +extern const u8 gMonBackPic_Bellsprout[]; +extern const u8 gMonShinyPalette_Bellsprout[]; +extern const u8 gMonIcon_Bellsprout[]; +extern const u8 gMonFootprint_Bellsprout[]; +extern const u8 gMonFrontPic_Weepinbell[]; +extern const u8 gMonPalette_Weepinbell[]; +extern const u8 gMonBackPic_Weepinbell[]; +extern const u8 gMonShinyPalette_Weepinbell[]; +extern const u8 gMonIcon_Weepinbell[]; +extern const u8 gMonFootprint_Weepinbell[]; +extern const u8 gMonFrontPic_Victreebel[]; +extern const u8 gMonPalette_Victreebel[]; +extern const u8 gMonBackPic_Victreebel[]; +extern const u8 gMonShinyPalette_Victreebel[]; +extern const u8 gMonIcon_Victreebel[]; +extern const u8 gMonFootprint_Victreebel[]; +extern const u8 gMonFrontPic_Tentacool[]; +extern const u8 gMonPalette_Tentacool[]; +extern const u8 gMonBackPic_Tentacool[]; +extern const u8 gMonShinyPalette_Tentacool[]; +extern const u8 gMonIcon_Tentacool[]; +extern const u8 gMonFootprint_Tentacool[]; +extern const u8 gMonFrontPic_Tentacruel[]; +extern const u8 gMonPalette_Tentacruel[]; +extern const u8 gMonBackPic_Tentacruel[]; +extern const u8 gMonShinyPalette_Tentacruel[]; +extern const u8 gMonIcon_Tentacruel[]; +extern const u8 gMonFootprint_Tentacruel[]; +extern const u8 gMonFrontPic_Geodude[]; +extern const u8 gMonPalette_Geodude[]; +extern const u8 gMonBackPic_Geodude[]; +extern const u8 gMonShinyPalette_Geodude[]; +extern const u8 gMonIcon_Geodude[]; +extern const u8 gMonFootprint_Geodude[]; +extern const u8 gMonFrontPic_Graveler[]; +extern const u8 gMonPalette_Graveler[]; +extern const u8 gMonBackPic_Graveler[]; +extern const u8 gMonShinyPalette_Graveler[]; +extern const u8 gMonIcon_Graveler[]; +extern const u8 gMonFootprint_Graveler[]; +extern const u8 gMonFrontPic_Golem[]; +extern const u8 gMonPalette_Golem[]; +extern const u8 gMonBackPic_Golem[]; +extern const u8 gMonShinyPalette_Golem[]; +extern const u8 gMonIcon_Golem[]; +extern const u8 gMonFootprint_Golem[]; +extern const u8 gMonFrontPic_Ponyta[]; +extern const u8 gMonPalette_Ponyta[]; +extern const u8 gMonBackPic_Ponyta[]; +extern const u8 gMonShinyPalette_Ponyta[]; +extern const u8 gMonIcon_Ponyta[]; +extern const u8 gMonFootprint_Ponyta[]; +extern const u8 gMonFrontPic_Rapidash[]; +extern const u8 gMonPalette_Rapidash[]; +extern const u8 gMonBackPic_Rapidash[]; +extern const u8 gMonShinyPalette_Rapidash[]; +extern const u8 gMonIcon_Rapidash[]; +extern const u8 gMonFootprint_Rapidash[]; +extern const u8 gMonFrontPic_Slowpoke[]; +extern const u8 gMonPalette_Slowpoke[]; +extern const u8 gMonBackPic_Slowpoke[]; +extern const u8 gMonShinyPalette_Slowpoke[]; +extern const u8 gMonIcon_Slowpoke[]; +extern const u8 gMonFootprint_Slowpoke[]; +extern const u8 gMonFrontPic_Slowbro[]; +extern const u8 gMonPalette_Slowbro[]; +extern const u8 gMonBackPic_Slowbro[]; +extern const u8 gMonShinyPalette_Slowbro[]; +extern const u8 gMonIcon_Slowbro[]; +extern const u8 gMonFootprint_Slowbro[]; +extern const u8 gMonFrontPic_Magnemite[]; +extern const u8 gMonPalette_Magnemite[]; +extern const u8 gMonBackPic_Magnemite[]; +extern const u8 gMonShinyPalette_Magnemite[]; +extern const u8 gMonIcon_Magnemite[]; +extern const u8 gMonFootprint_Magnemite[]; +extern const u8 gMonFrontPic_Magneton[]; +extern const u8 gMonPalette_Magneton[]; +extern const u8 gMonBackPic_Magneton[]; +extern const u8 gMonShinyPalette_Magneton[]; +extern const u8 gMonIcon_Magneton[]; +extern const u8 gMonFootprint_Magneton[]; +extern const u8 gMonFrontPic_Farfetchd[]; +extern const u8 gMonPalette_Farfetchd[]; +extern const u8 gMonBackPic_Farfetchd[]; +extern const u8 gMonShinyPalette_Farfetchd[]; +extern const u8 gMonIcon_Farfetchd[]; +extern const u8 gMonFootprint_Farfetchd[]; +extern const u8 gMonFrontPic_Doduo[]; +extern const u8 gMonPalette_Doduo[]; +extern const u8 gMonBackPic_Doduo[]; +extern const u8 gMonShinyPalette_Doduo[]; +extern const u8 gMonIcon_Doduo[]; +extern const u8 gMonFootprint_Doduo[]; +extern const u8 gMonFrontPic_Dodrio[]; +extern const u8 gMonPalette_Dodrio[]; +extern const u8 gMonBackPic_Dodrio[]; +extern const u8 gMonShinyPalette_Dodrio[]; +extern const u8 gMonIcon_Dodrio[]; +extern const u8 gMonFootprint_Dodrio[]; +extern const u8 gMonFrontPic_Seel[]; +extern const u8 gMonPalette_Seel[]; +extern const u8 gMonBackPic_Seel[]; +extern const u8 gMonShinyPalette_Seel[]; +extern const u8 gMonIcon_Seel[]; +extern const u8 gMonFootprint_Seel[]; +extern const u8 gMonFrontPic_Dewgong[]; +extern const u8 gMonPalette_Dewgong[]; +extern const u8 gMonBackPic_Dewgong[]; +extern const u8 gMonShinyPalette_Dewgong[]; +extern const u8 gMonIcon_Dewgong[]; +extern const u8 gMonFootprint_Dewgong[]; +extern const u8 gMonFrontPic_Grimer[]; +extern const u8 gMonPalette_Grimer[]; +extern const u8 gMonBackPic_Grimer[]; +extern const u8 gMonShinyPalette_Grimer[]; +extern const u8 gMonIcon_Grimer[]; +extern const u8 gMonFootprint_Grimer[]; +extern const u8 gMonFrontPic_Muk[]; +extern const u8 gMonPalette_Muk[]; +extern const u8 gMonBackPic_Muk[]; +extern const u8 gMonShinyPalette_Muk[]; +extern const u8 gMonIcon_Muk[]; +extern const u8 gMonFootprint_Muk[]; +extern const u8 gMonFrontPic_Shellder[]; +extern const u8 gMonPalette_Shellder[]; +extern const u8 gMonBackPic_Shellder[]; +extern const u8 gMonShinyPalette_Shellder[]; +extern const u8 gMonIcon_Shellder[]; +extern const u8 gMonFootprint_Shellder[]; +extern const u8 gMonFrontPic_Cloyster[]; +extern const u8 gMonPalette_Cloyster[]; +extern const u8 gMonBackPic_Cloyster[]; +extern const u8 gMonShinyPalette_Cloyster[]; +extern const u8 gMonIcon_Cloyster[]; +extern const u8 gMonFootprint_Cloyster[]; +extern const u8 gMonFrontPic_Gastly[]; +extern const u8 gMonPalette_Gastly[]; +extern const u8 gMonBackPic_Gastly[]; +extern const u8 gMonShinyPalette_Gastly[]; +extern const u8 gMonIcon_Gastly[]; +extern const u8 gMonFootprint_Gastly[]; +extern const u8 gMonFrontPic_Haunter[]; +extern const u8 gMonPalette_Haunter[]; +extern const u8 gMonBackPic_Haunter[]; +extern const u8 gMonShinyPalette_Haunter[]; +extern const u8 gMonIcon_Haunter[]; +extern const u8 gMonFootprint_Haunter[]; +extern const u8 gMonFrontPic_Gengar[]; +extern const u8 gMonPalette_Gengar[]; +extern const u8 gMonBackPic_Gengar[]; +extern const u8 gMonShinyPalette_Gengar[]; +extern const u8 gMonIcon_Gengar[]; +extern const u8 gMonFootprint_Gengar[]; +extern const u8 gMonFrontPic_Onix[]; +extern const u8 gMonPalette_Onix[]; +extern const u8 gMonBackPic_Onix[]; +extern const u8 gMonShinyPalette_Onix[]; +extern const u8 gMonIcon_Onix[]; +extern const u8 gMonFootprint_Onix[]; +extern const u8 gMonFrontPic_Drowzee[]; +extern const u8 gMonPalette_Drowzee[]; +extern const u8 gMonBackPic_Drowzee[]; +extern const u8 gMonShinyPalette_Drowzee[]; +extern const u8 gMonIcon_Drowzee[]; +extern const u8 gMonFootprint_Drowzee[]; +extern const u8 gMonFrontPic_Hypno[]; +extern const u8 gMonPalette_Hypno[]; +extern const u8 gMonBackPic_Hypno[]; +extern const u8 gMonShinyPalette_Hypno[]; +extern const u8 gMonIcon_Hypno[]; +extern const u8 gMonFootprint_Hypno[]; +extern const u8 gMonFrontPic_Krabby[]; +extern const u8 gMonPalette_Krabby[]; +extern const u8 gMonBackPic_Krabby[]; +extern const u8 gMonShinyPalette_Krabby[]; +extern const u8 gMonIcon_Krabby[]; +extern const u8 gMonFootprint_Krabby[]; +extern const u8 gMonFrontPic_Kingler[]; +extern const u8 gMonPalette_Kingler[]; +extern const u8 gMonBackPic_Kingler[]; +extern const u8 gMonShinyPalette_Kingler[]; +extern const u8 gMonIcon_Kingler[]; +extern const u8 gMonFootprint_Kingler[]; +extern const u8 gMonFrontPic_Voltorb[]; +extern const u8 gMonPalette_Voltorb[]; +extern const u8 gMonBackPic_Voltorb[]; +extern const u8 gMonShinyPalette_Voltorb[]; +extern const u8 gMonIcon_Voltorb[]; +extern const u8 gMonFootprint_Voltorb[]; +extern const u8 gMonFrontPic_Electrode[]; +extern const u8 gMonPalette_Electrode[]; +extern const u8 gMonBackPic_Electrode[]; +extern const u8 gMonShinyPalette_Electrode[]; +extern const u8 gMonIcon_Electrode[]; +extern const u8 gMonFootprint_Electrode[]; +extern const u8 gMonFrontPic_Exeggcute[]; +extern const u8 gMonPalette_Exeggcute[]; +extern const u8 gMonBackPic_Exeggcute[]; +extern const u8 gMonShinyPalette_Exeggcute[]; +extern const u8 gMonIcon_Exeggcute[]; +extern const u8 gMonFootprint_Exeggcute[]; +extern const u8 gMonFrontPic_Exeggutor[]; +extern const u8 gMonPalette_Exeggutor[]; +extern const u8 gMonBackPic_Exeggutor[]; +extern const u8 gMonShinyPalette_Exeggutor[]; +extern const u8 gMonIcon_Exeggutor[]; +extern const u8 gMonFootprint_Exeggutor[]; +extern const u8 gMonFrontPic_Cubone[]; +extern const u8 gMonPalette_Cubone[]; +extern const u8 gMonBackPic_Cubone[]; +extern const u8 gMonShinyPalette_Cubone[]; +extern const u8 gMonIcon_Cubone[]; +extern const u8 gMonFootprint_Cubone[]; +extern const u8 gMonFrontPic_Marowak[]; +extern const u8 gMonPalette_Marowak[]; +extern const u8 gMonBackPic_Marowak[]; +extern const u8 gMonShinyPalette_Marowak[]; +extern const u8 gMonIcon_Marowak[]; +extern const u8 gMonFootprint_Marowak[]; +extern const u8 gMonFrontPic_Hitmonlee[]; +extern const u8 gMonPalette_Hitmonlee[]; +extern const u8 gMonBackPic_Hitmonlee[]; +extern const u8 gMonShinyPalette_Hitmonlee[]; +extern const u8 gMonIcon_Hitmonlee[]; +extern const u8 gMonFootprint_Hitmonlee[]; +extern const u8 gMonFrontPic_Hitmonchan[]; +extern const u8 gMonPalette_Hitmonchan[]; +extern const u8 gMonBackPic_Hitmonchan[]; +extern const u8 gMonShinyPalette_Hitmonchan[]; +extern const u8 gMonIcon_Hitmonchan[]; +extern const u8 gMonFootprint_Hitmonchan[]; +extern const u8 gMonFrontPic_Lickitung[]; +extern const u8 gMonPalette_Lickitung[]; +extern const u8 gMonBackPic_Lickitung[]; +extern const u8 gMonShinyPalette_Lickitung[]; +extern const u8 gMonIcon_Lickitung[]; +extern const u8 gMonFootprint_Lickitung[]; +extern const u8 gMonFrontPic_Koffing[]; +extern const u8 gMonPalette_Koffing[]; +extern const u8 gMonBackPic_Koffing[]; +extern const u8 gMonShinyPalette_Koffing[]; +extern const u8 gMonIcon_Koffing[]; +extern const u8 gMonFootprint_Koffing[]; +extern const u8 gMonFrontPic_Weezing[]; +extern const u8 gMonPalette_Weezing[]; +extern const u8 gMonBackPic_Weezing[]; +extern const u8 gMonShinyPalette_Weezing[]; +extern const u8 gMonIcon_Weezing[]; +extern const u8 gMonFootprint_Weezing[]; +extern const u8 gMonFrontPic_Rhyhorn[]; +extern const u8 gMonPalette_Rhyhorn[]; +extern const u8 gMonBackPic_Rhyhorn[]; +extern const u8 gMonShinyPalette_Rhyhorn[]; +extern const u8 gMonIcon_Rhyhorn[]; +extern const u8 gMonFootprint_Rhyhorn[]; +extern const u8 gMonFrontPic_Rhydon[]; +extern const u8 gMonPalette_Rhydon[]; +extern const u8 gMonBackPic_Rhydon[]; +extern const u8 gMonShinyPalette_Rhydon[]; +extern const u8 gMonIcon_Rhydon[]; +extern const u8 gMonFootprint_Rhydon[]; +extern const u8 gMonFrontPic_Chansey[]; +extern const u8 gMonPalette_Chansey[]; +extern const u8 gMonBackPic_Chansey[]; +extern const u8 gMonShinyPalette_Chansey[]; +extern const u8 gMonIcon_Chansey[]; +extern const u8 gMonFootprint_Chansey[]; +extern const u8 gMonFrontPic_Tangela[]; +extern const u8 gMonPalette_Tangela[]; +extern const u8 gMonBackPic_Tangela[]; +extern const u8 gMonShinyPalette_Tangela[]; +extern const u8 gMonIcon_Tangela[]; +extern const u8 gMonFootprint_Tangela[]; +extern const u8 gMonFrontPic_Kangaskhan[]; +extern const u8 gMonPalette_Kangaskhan[]; +extern const u8 gMonBackPic_Kangaskhan[]; +extern const u8 gMonShinyPalette_Kangaskhan[]; +extern const u8 gMonIcon_Kangaskhan[]; +extern const u8 gMonFootprint_Kangaskhan[]; +extern const u8 gMonFrontPic_Horsea[]; +extern const u8 gMonPalette_Horsea[]; +extern const u8 gMonBackPic_Horsea[]; +extern const u8 gMonShinyPalette_Horsea[]; +extern const u8 gMonIcon_Horsea[]; +extern const u8 gMonFootprint_Horsea[]; +extern const u8 gMonFrontPic_Seadra[]; +extern const u8 gMonPalette_Seadra[]; +extern const u8 gMonBackPic_Seadra[]; +extern const u8 gMonShinyPalette_Seadra[]; +extern const u8 gMonIcon_Seadra[]; +extern const u8 gMonFootprint_Seadra[]; +extern const u8 gMonFrontPic_Goldeen[]; +extern const u8 gMonPalette_Goldeen[]; +extern const u8 gMonBackPic_Goldeen[]; +extern const u8 gMonShinyPalette_Goldeen[]; +extern const u8 gMonIcon_Goldeen[]; +extern const u8 gMonFootprint_Goldeen[]; +extern const u8 gMonFrontPic_Seaking[]; +extern const u8 gMonPalette_Seaking[]; +extern const u8 gMonBackPic_Seaking[]; +extern const u8 gMonShinyPalette_Seaking[]; +extern const u8 gMonIcon_Seaking[]; +extern const u8 gMonFootprint_Seaking[]; +extern const u8 gMonFrontPic_Staryu[]; +extern const u8 gMonPalette_Staryu[]; +extern const u8 gMonBackPic_Staryu[]; +extern const u8 gMonShinyPalette_Staryu[]; +extern const u8 gMonIcon_Staryu[]; +extern const u8 gMonFootprint_Staryu[]; +extern const u8 gMonFrontPic_Starmie[]; +extern const u8 gMonPalette_Starmie[]; +extern const u8 gMonBackPic_Starmie[]; +extern const u8 gMonShinyPalette_Starmie[]; +extern const u8 gMonIcon_Starmie[]; +extern const u8 gMonFootprint_Starmie[]; +extern const u8 gMonFrontPic_Mrmime[]; +extern const u8 gMonPalette_Mrmime[]; +extern const u8 gMonBackPic_Mrmime[]; +extern const u8 gMonShinyPalette_Mrmime[]; +extern const u8 gMonIcon_Mrmime[]; +extern const u8 gMonFootprint_Mrmime[]; +extern const u8 gMonFrontPic_Scyther[]; +extern const u8 gMonPalette_Scyther[]; +extern const u8 gMonBackPic_Scyther[]; +extern const u8 gMonShinyPalette_Scyther[]; +extern const u8 gMonIcon_Scyther[]; +extern const u8 gMonFootprint_Scyther[]; +extern const u8 gMonFrontPic_Jynx[]; +extern const u8 gMonPalette_Jynx[]; +extern const u8 gMonBackPic_Jynx[]; +extern const u8 gMonShinyPalette_Jynx[]; +extern const u8 gMonIcon_Jynx[]; +extern const u8 gMonFootprint_Jynx[]; +extern const u8 gMonFrontPic_Electabuzz[]; +extern const u8 gMonPalette_Electabuzz[]; +extern const u8 gMonBackPic_Electabuzz[]; +extern const u8 gMonShinyPalette_Electabuzz[]; +extern const u8 gMonIcon_Electabuzz[]; +extern const u8 gMonFootprint_Electabuzz[]; +extern const u8 gMonFrontPic_Magmar[]; +extern const u8 gMonPalette_Magmar[]; +extern const u8 gMonBackPic_Magmar[]; +extern const u8 gMonShinyPalette_Magmar[]; +extern const u8 gMonIcon_Magmar[]; +extern const u8 gMonFootprint_Magmar[]; +extern const u8 gMonFrontPic_Pinsir[]; +extern const u8 gMonPalette_Pinsir[]; +extern const u8 gMonBackPic_Pinsir[]; +extern const u8 gMonShinyPalette_Pinsir[]; +extern const u8 gMonIcon_Pinsir[]; +extern const u8 gMonFootprint_Pinsir[]; +extern const u8 gMonFrontPic_Tauros[]; +extern const u8 gMonPalette_Tauros[]; +extern const u8 gMonBackPic_Tauros[]; +extern const u8 gMonShinyPalette_Tauros[]; +extern const u8 gMonIcon_Tauros[]; +extern const u8 gMonFootprint_Tauros[]; +extern const u8 gMonFrontPic_Magikarp[]; +extern const u8 gMonPalette_Magikarp[]; +extern const u8 gMonBackPic_Magikarp[]; +extern const u8 gMonShinyPalette_Magikarp[]; +extern const u8 gMonIcon_Magikarp[]; +extern const u8 gMonFootprint_Magikarp[]; +extern const u8 gMonFrontPic_Gyarados[]; +extern const u8 gMonPalette_Gyarados[]; +extern const u8 gMonBackPic_Gyarados[]; +extern const u8 gMonShinyPalette_Gyarados[]; +extern const u8 gMonIcon_Gyarados[]; +extern const u8 gMonFootprint_Gyarados[]; +extern const u8 gMonFrontPic_Lapras[]; +extern const u8 gMonPalette_Lapras[]; +extern const u8 gMonBackPic_Lapras[]; +extern const u8 gMonShinyPalette_Lapras[]; +extern const u8 gMonIcon_Lapras[]; +extern const u8 gMonFootprint_Lapras[]; +extern const u8 gMonFrontPic_Ditto[]; +extern const u8 gMonPalette_Ditto[]; +extern const u8 gMonBackPic_Ditto[]; +extern const u8 gMonShinyPalette_Ditto[]; +extern const u8 gMonIcon_Ditto[]; +extern const u8 gMonFootprint_Ditto[]; +extern const u8 gMonFrontPic_Eevee[]; +extern const u8 gMonPalette_Eevee[]; +extern const u8 gMonBackPic_Eevee[]; +extern const u8 gMonShinyPalette_Eevee[]; +extern const u8 gMonIcon_Eevee[]; +extern const u8 gMonFootprint_Eevee[]; +extern const u8 gMonFrontPic_Vaporeon[]; +extern const u8 gMonPalette_Vaporeon[]; +extern const u8 gMonBackPic_Vaporeon[]; +extern const u8 gMonShinyPalette_Vaporeon[]; +extern const u8 gMonIcon_Vaporeon[]; +extern const u8 gMonFootprint_Vaporeon[]; +extern const u8 gMonFrontPic_Jolteon[]; +extern const u8 gMonPalette_Jolteon[]; +extern const u8 gMonBackPic_Jolteon[]; +extern const u8 gMonShinyPalette_Jolteon[]; +extern const u8 gMonIcon_Jolteon[]; +extern const u8 gMonFootprint_Jolteon[]; +extern const u8 gMonFrontPic_Flareon[]; +extern const u8 gMonPalette_Flareon[]; +extern const u8 gMonBackPic_Flareon[]; +extern const u8 gMonShinyPalette_Flareon[]; +extern const u8 gMonIcon_Flareon[]; +extern const u8 gMonFootprint_Flareon[]; +extern const u8 gMonFrontPic_Porygon[]; +extern const u8 gMonPalette_Porygon[]; +extern const u8 gMonBackPic_Porygon[]; +extern const u8 gMonShinyPalette_Porygon[]; +extern const u8 gMonIcon_Porygon[]; +extern const u8 gMonFootprint_Porygon[]; +extern const u8 gMonFrontPic_Omanyte[]; +extern const u8 gMonPalette_Omanyte[]; +extern const u8 gMonBackPic_Omanyte[]; +extern const u8 gMonShinyPalette_Omanyte[]; +extern const u8 gMonIcon_Omanyte[]; +extern const u8 gMonFootprint_Omanyte[]; +extern const u8 gMonFrontPic_Omastar[]; +extern const u8 gMonPalette_Omastar[]; +extern const u8 gMonBackPic_Omastar[]; +extern const u8 gMonShinyPalette_Omastar[]; +extern const u8 gMonIcon_Omastar[]; +extern const u8 gMonFootprint_Omastar[]; +extern const u8 gMonFrontPic_Kabuto[]; +extern const u8 gMonPalette_Kabuto[]; +extern const u8 gMonBackPic_Kabuto[]; +extern const u8 gMonShinyPalette_Kabuto[]; +extern const u8 gMonIcon_Kabuto[]; +extern const u8 gMonFootprint_Kabuto[]; +extern const u8 gMonFrontPic_Kabutops[]; +extern const u8 gMonPalette_Kabutops[]; +extern const u8 gMonBackPic_Kabutops[]; +extern const u8 gMonShinyPalette_Kabutops[]; +extern const u8 gMonIcon_Kabutops[]; +extern const u8 gMonFootprint_Kabutops[]; +extern const u8 gMonFrontPic_Aerodactyl[]; +extern const u8 gMonPalette_Aerodactyl[]; +extern const u8 gMonBackPic_Aerodactyl[]; +extern const u8 gMonShinyPalette_Aerodactyl[]; +extern const u8 gMonIcon_Aerodactyl[]; +extern const u8 gMonFootprint_Aerodactyl[]; +extern const u8 gMonFrontPic_Snorlax[]; +extern const u8 gMonPalette_Snorlax[]; +extern const u8 gMonBackPic_Snorlax[]; +extern const u8 gMonShinyPalette_Snorlax[]; +extern const u8 gMonIcon_Snorlax[]; +extern const u8 gMonFootprint_Snorlax[]; +extern const u8 gMonFrontPic_Articuno[]; +extern const u8 gMonPalette_Articuno[]; +extern const u8 gMonBackPic_Articuno[]; +extern const u8 gMonShinyPalette_Articuno[]; +extern const u8 gMonIcon_Articuno[]; +extern const u8 gMonFootprint_Articuno[]; +extern const u8 gMonFrontPic_Zapdos[]; +extern const u8 gMonPalette_Zapdos[]; +extern const u8 gMonBackPic_Zapdos[]; +extern const u8 gMonShinyPalette_Zapdos[]; +extern const u8 gMonIcon_Zapdos[]; +extern const u8 gMonFootprint_Zapdos[]; +extern const u8 gMonFrontPic_Moltres[]; +extern const u8 gMonPalette_Moltres[]; +extern const u8 gMonBackPic_Moltres[]; +extern const u8 gMonShinyPalette_Moltres[]; +extern const u8 gMonIcon_Moltres[]; +extern const u8 gMonFootprint_Moltres[]; +extern const u8 gMonFrontPic_Dratini[]; +extern const u8 gMonPalette_Dratini[]; +extern const u8 gMonBackPic_Dratini[]; +extern const u8 gMonShinyPalette_Dratini[]; +extern const u8 gMonIcon_Dratini[]; +extern const u8 gMonFootprint_Dratini[]; +extern const u8 gMonFrontPic_Dragonair[]; +extern const u8 gMonPalette_Dragonair[]; +extern const u8 gMonBackPic_Dragonair[]; +extern const u8 gMonShinyPalette_Dragonair[]; +extern const u8 gMonIcon_Dragonair[]; +extern const u8 gMonFootprint_Dragonair[]; +extern const u8 gMonFrontPic_Dragonite[]; +extern const u8 gMonPalette_Dragonite[]; +extern const u8 gMonBackPic_Dragonite[]; +extern const u8 gMonShinyPalette_Dragonite[]; +extern const u8 gMonIcon_Dragonite[]; +extern const u8 gMonFootprint_Dragonite[]; +extern const u8 gMonFrontPic_Mewtwo[]; +extern const u8 gMonPalette_Mewtwo[]; +extern const u8 gMonBackPic_Mewtwo[]; +extern const u8 gMonShinyPalette_Mewtwo[]; +extern const u8 gMonIcon_Mewtwo[]; +extern const u8 gMonFootprint_Mewtwo[]; +extern const u8 gMonFrontPic_Mew[]; +extern const u8 gMonPalette_Mew[]; +extern const u8 gMonBackPic_Mew[]; +extern const u8 gMonShinyPalette_Mew[]; +extern const u8 gMonIcon_Mew[]; +extern const u8 gMonFootprint_Mew[]; +extern const u8 gMonFrontPic_Chikorita[]; +extern const u8 gMonPalette_Chikorita[]; +extern const u8 gMonBackPic_Chikorita[]; +extern const u8 gMonShinyPalette_Chikorita[]; +extern const u8 gMonIcon_Chikorita[]; +extern const u8 gMonFootprint_Chikorita[]; +extern const u8 gMonFrontPic_Bayleef[]; +extern const u8 gMonPalette_Bayleef[]; +extern const u8 gMonBackPic_Bayleef[]; +extern const u8 gMonShinyPalette_Bayleef[]; +extern const u8 gMonIcon_Bayleef[]; +extern const u8 gMonFootprint_Bayleef[]; +extern const u8 gMonFrontPic_Meganium[]; +extern const u8 gMonPalette_Meganium[]; +extern const u8 gMonBackPic_Meganium[]; +extern const u8 gMonShinyPalette_Meganium[]; +extern const u8 gMonIcon_Meganium[]; +extern const u8 gMonFootprint_Meganium[]; +extern const u8 gMonFrontPic_Cyndaquil[]; +extern const u8 gMonPalette_Cyndaquil[]; +extern const u8 gMonBackPic_Cyndaquil[]; +extern const u8 gMonShinyPalette_Cyndaquil[]; +extern const u8 gMonIcon_Cyndaquil[]; +extern const u8 gMonFootprint_Cyndaquil[]; +extern const u8 gMonFrontPic_Quilava[]; +extern const u8 gMonPalette_Quilava[]; +extern const u8 gMonBackPic_Quilava[]; +extern const u8 gMonShinyPalette_Quilava[]; +extern const u8 gMonIcon_Quilava[]; +extern const u8 gMonFootprint_Quilava[]; +extern const u8 gMonFrontPic_Typhlosion[]; +extern const u8 gMonPalette_Typhlosion[]; +extern const u8 gMonBackPic_Typhlosion[]; +extern const u8 gMonShinyPalette_Typhlosion[]; +extern const u8 gMonIcon_Typhlosion[]; +extern const u8 gMonFootprint_Typhlosion[]; +extern const u8 gMonFrontPic_Totodile[]; +extern const u8 gMonPalette_Totodile[]; +extern const u8 gMonBackPic_Totodile[]; +extern const u8 gMonShinyPalette_Totodile[]; +extern const u8 gMonIcon_Totodile[]; +extern const u8 gMonFootprint_Totodile[]; +extern const u8 gMonFrontPic_Croconaw[]; +extern const u8 gMonPalette_Croconaw[]; +extern const u8 gMonBackPic_Croconaw[]; +extern const u8 gMonShinyPalette_Croconaw[]; +extern const u8 gMonIcon_Croconaw[]; +extern const u8 gMonFootprint_Croconaw[]; +extern const u8 gMonFrontPic_Feraligatr[]; +extern const u8 gMonPalette_Feraligatr[]; +extern const u8 gMonBackPic_Feraligatr[]; +extern const u8 gMonShinyPalette_Feraligatr[]; +extern const u8 gMonIcon_Feraligatr[]; +extern const u8 gMonFootprint_Feraligatr[]; +extern const u8 gMonFrontPic_Sentret[]; +extern const u8 gMonPalette_Sentret[]; +extern const u8 gMonBackPic_Sentret[]; +extern const u8 gMonShinyPalette_Sentret[]; +extern const u8 gMonIcon_Sentret[]; +extern const u8 gMonFootprint_Sentret[]; +extern const u8 gMonFrontPic_Furret[]; +extern const u8 gMonPalette_Furret[]; +extern const u8 gMonBackPic_Furret[]; +extern const u8 gMonShinyPalette_Furret[]; +extern const u8 gMonIcon_Furret[]; +extern const u8 gMonFootprint_Furret[]; +extern const u8 gMonFrontPic_Hoothoot[]; +extern const u8 gMonPalette_Hoothoot[]; +extern const u8 gMonBackPic_Hoothoot[]; +extern const u8 gMonShinyPalette_Hoothoot[]; +extern const u8 gMonIcon_Hoothoot[]; +extern const u8 gMonFootprint_Hoothoot[]; +extern const u8 gMonFrontPic_Noctowl[]; +extern const u8 gMonPalette_Noctowl[]; +extern const u8 gMonBackPic_Noctowl[]; +extern const u8 gMonShinyPalette_Noctowl[]; +extern const u8 gMonIcon_Noctowl[]; +extern const u8 gMonFootprint_Noctowl[]; +extern const u8 gMonFrontPic_Ledyba[]; +extern const u8 gMonPalette_Ledyba[]; +extern const u8 gMonBackPic_Ledyba[]; +extern const u8 gMonShinyPalette_Ledyba[]; +extern const u8 gMonIcon_Ledyba[]; +extern const u8 gMonFootprint_Ledyba[]; +extern const u8 gMonFrontPic_Ledian[]; +extern const u8 gMonPalette_Ledian[]; +extern const u8 gMonBackPic_Ledian[]; +extern const u8 gMonShinyPalette_Ledian[]; +extern const u8 gMonIcon_Ledian[]; +extern const u8 gMonFootprint_Ledian[]; +extern const u8 gMonFrontPic_Spinarak[]; +extern const u8 gMonPalette_Spinarak[]; +extern const u8 gMonBackPic_Spinarak[]; +extern const u8 gMonShinyPalette_Spinarak[]; +extern const u8 gMonIcon_Spinarak[]; +extern const u8 gMonFootprint_Spinarak[]; +extern const u8 gMonFrontPic_Ariados[]; +extern const u8 gMonPalette_Ariados[]; +extern const u8 gMonBackPic_Ariados[]; +extern const u8 gMonShinyPalette_Ariados[]; +extern const u8 gMonIcon_Ariados[]; +extern const u8 gMonFootprint_Ariados[]; +extern const u8 gMonFrontPic_Crobat[]; +extern const u8 gMonPalette_Crobat[]; +extern const u8 gMonBackPic_Crobat[]; +extern const u8 gMonShinyPalette_Crobat[]; +extern const u8 gMonIcon_Crobat[]; +extern const u8 gMonFootprint_Crobat[]; +extern const u8 gMonFrontPic_Chinchou[]; +extern const u8 gMonPalette_Chinchou[]; +extern const u8 gMonBackPic_Chinchou[]; +extern const u8 gMonShinyPalette_Chinchou[]; +extern const u8 gMonIcon_Chinchou[]; +extern const u8 gMonFootprint_Chinchou[]; +extern const u8 gMonFrontPic_Lanturn[]; +extern const u8 gMonPalette_Lanturn[]; +extern const u8 gMonBackPic_Lanturn[]; +extern const u8 gMonShinyPalette_Lanturn[]; +extern const u8 gMonIcon_Lanturn[]; +extern const u8 gMonFootprint_Lanturn[]; +extern const u8 gMonFrontPic_Pichu[]; +extern const u8 gMonPalette_Pichu[]; +extern const u8 gMonBackPic_Pichu[]; +extern const u8 gMonShinyPalette_Pichu[]; +extern const u8 gMonIcon_Pichu[]; +extern const u8 gMonFootprint_Pichu[]; +extern const u8 gMonFrontPic_Cleffa[]; +extern const u8 gMonPalette_Cleffa[]; +extern const u8 gMonBackPic_Cleffa[]; +extern const u8 gMonShinyPalette_Cleffa[]; +extern const u8 gMonIcon_Cleffa[]; +extern const u8 gMonFootprint_Cleffa[]; +extern const u8 gMonFrontPic_Igglybuff[]; +extern const u8 gMonPalette_Igglybuff[]; +extern const u8 gMonBackPic_Igglybuff[]; +extern const u8 gMonShinyPalette_Igglybuff[]; +extern const u8 gMonIcon_Igglybuff[]; +extern const u8 gMonFootprint_Igglybuff[]; +extern const u8 gMonFrontPic_Togepi[]; +extern const u8 gMonPalette_Togepi[]; +extern const u8 gMonBackPic_Togepi[]; +extern const u8 gMonShinyPalette_Togepi[]; +extern const u8 gMonIcon_Togepi[]; +extern const u8 gMonFootprint_Togepi[]; +extern const u8 gMonFrontPic_Togetic[]; +extern const u8 gMonPalette_Togetic[]; +extern const u8 gMonBackPic_Togetic[]; +extern const u8 gMonShinyPalette_Togetic[]; +extern const u8 gMonIcon_Togetic[]; +extern const u8 gMonFootprint_Togetic[]; +extern const u8 gMonFrontPic_Natu[]; +extern const u8 gMonPalette_Natu[]; +extern const u8 gMonBackPic_Natu[]; +extern const u8 gMonShinyPalette_Natu[]; +extern const u8 gMonIcon_Natu[]; +extern const u8 gMonFootprint_Natu[]; +extern const u8 gMonFrontPic_Xatu[]; +extern const u8 gMonPalette_Xatu[]; +extern const u8 gMonBackPic_Xatu[]; +extern const u8 gMonShinyPalette_Xatu[]; +extern const u8 gMonIcon_Xatu[]; +extern const u8 gMonFootprint_Xatu[]; +extern const u8 gMonFrontPic_Mareep[]; +extern const u8 gMonPalette_Mareep[]; +extern const u8 gMonBackPic_Mareep[]; +extern const u8 gMonShinyPalette_Mareep[]; +extern const u8 gMonIcon_Mareep[]; +extern const u8 gMonFootprint_Mareep[]; +extern const u8 gMonFrontPic_Flaaffy[]; +extern const u8 gMonPalette_Flaaffy[]; +extern const u8 gMonBackPic_Flaaffy[]; +extern const u8 gMonShinyPalette_Flaaffy[]; +extern const u8 gMonIcon_Flaaffy[]; +extern const u8 gMonFootprint_Flaaffy[]; +extern const u8 gMonFrontPic_Ampharos[]; +extern const u8 gMonPalette_Ampharos[]; +extern const u8 gMonBackPic_Ampharos[]; +extern const u8 gMonShinyPalette_Ampharos[]; +extern const u8 gMonIcon_Ampharos[]; +extern const u8 gMonFootprint_Ampharos[]; +extern const u8 gMonFrontPic_Bellossom[]; +extern const u8 gMonPalette_Bellossom[]; +extern const u8 gMonBackPic_Bellossom[]; +extern const u8 gMonShinyPalette_Bellossom[]; +extern const u8 gMonIcon_Bellossom[]; +extern const u8 gMonFootprint_Bellossom[]; +extern const u8 gMonFrontPic_Marill[]; +extern const u8 gMonPalette_Marill[]; +extern const u8 gMonBackPic_Marill[]; +extern const u8 gMonShinyPalette_Marill[]; +extern const u8 gMonIcon_Marill[]; +extern const u8 gMonFootprint_Marill[]; +extern const u8 gMonFrontPic_Azumarill[]; +extern const u8 gMonPalette_Azumarill[]; +extern const u8 gMonBackPic_Azumarill[]; +extern const u8 gMonShinyPalette_Azumarill[]; +extern const u8 gMonIcon_Azumarill[]; +extern const u8 gMonFootprint_Azumarill[]; +extern const u8 gMonFrontPic_Sudowoodo[]; +extern const u8 gMonPalette_Sudowoodo[]; +extern const u8 gMonBackPic_Sudowoodo[]; +extern const u8 gMonShinyPalette_Sudowoodo[]; +extern const u8 gMonIcon_Sudowoodo[]; +extern const u8 gMonFootprint_Sudowoodo[]; +extern const u8 gMonFrontPic_Politoed[]; +extern const u8 gMonPalette_Politoed[]; +extern const u8 gMonBackPic_Politoed[]; +extern const u8 gMonShinyPalette_Politoed[]; +extern const u8 gMonIcon_Politoed[]; +extern const u8 gMonFootprint_Politoed[]; +extern const u8 gMonFrontPic_Hoppip[]; +extern const u8 gMonPalette_Hoppip[]; +extern const u8 gMonBackPic_Hoppip[]; +extern const u8 gMonShinyPalette_Hoppip[]; +extern const u8 gMonIcon_Hoppip[]; +extern const u8 gMonFootprint_Hoppip[]; +extern const u8 gMonFrontPic_Skiploom[]; +extern const u8 gMonPalette_Skiploom[]; +extern const u8 gMonBackPic_Skiploom[]; +extern const u8 gMonShinyPalette_Skiploom[]; +extern const u8 gMonIcon_Skiploom[]; +extern const u8 gMonFootprint_Skiploom[]; +extern const u8 gMonFrontPic_Jumpluff[]; +extern const u8 gMonPalette_Jumpluff[]; +extern const u8 gMonBackPic_Jumpluff[]; +extern const u8 gMonShinyPalette_Jumpluff[]; +extern const u8 gMonIcon_Jumpluff[]; +extern const u8 gMonFootprint_Jumpluff[]; +extern const u8 gMonFrontPic_Aipom[]; +extern const u8 gMonPalette_Aipom[]; +extern const u8 gMonBackPic_Aipom[]; +extern const u8 gMonShinyPalette_Aipom[]; +extern const u8 gMonIcon_Aipom[]; +extern const u8 gMonFootprint_Aipom[]; +extern const u8 gMonFrontPic_Sunkern[]; +extern const u8 gMonPalette_Sunkern[]; +extern const u8 gMonBackPic_Sunkern[]; +extern const u8 gMonShinyPalette_Sunkern[]; +extern const u8 gMonIcon_Sunkern[]; +extern const u8 gMonFootprint_Sunkern[]; +extern const u8 gMonFrontPic_Sunflora[]; +extern const u8 gMonPalette_Sunflora[]; +extern const u8 gMonBackPic_Sunflora[]; +extern const u8 gMonShinyPalette_Sunflora[]; +extern const u8 gMonIcon_Sunflora[]; +extern const u8 gMonFootprint_Sunflora[]; +extern const u8 gMonFrontPic_Yanma[]; +extern const u8 gMonPalette_Yanma[]; +extern const u8 gMonBackPic_Yanma[]; +extern const u8 gMonShinyPalette_Yanma[]; +extern const u8 gMonIcon_Yanma[]; +extern const u8 gMonFootprint_Yanma[]; +extern const u8 gMonFrontPic_Wooper[]; +extern const u8 gMonPalette_Wooper[]; +extern const u8 gMonBackPic_Wooper[]; +extern const u8 gMonShinyPalette_Wooper[]; +extern const u8 gMonIcon_Wooper[]; +extern const u8 gMonFootprint_Wooper[]; +extern const u8 gMonFrontPic_Quagsire[]; +extern const u8 gMonPalette_Quagsire[]; +extern const u8 gMonBackPic_Quagsire[]; +extern const u8 gMonShinyPalette_Quagsire[]; +extern const u8 gMonIcon_Quagsire[]; +extern const u8 gMonFootprint_Quagsire[]; +extern const u8 gMonFrontPic_Espeon[]; +extern const u8 gMonPalette_Espeon[]; +extern const u8 gMonBackPic_Espeon[]; +extern const u8 gMonShinyPalette_Espeon[]; +extern const u8 gMonIcon_Espeon[]; +extern const u8 gMonFootprint_Espeon[]; +extern const u8 gMonFrontPic_Umbreon[]; +extern const u8 gMonPalette_Umbreon[]; +extern const u8 gMonBackPic_Umbreon[]; +extern const u8 gMonShinyPalette_Umbreon[]; +extern const u8 gMonIcon_Umbreon[]; +extern const u8 gMonFootprint_Umbreon[]; +extern const u8 gMonFrontPic_Murkrow[]; +extern const u8 gMonPalette_Murkrow[]; +extern const u8 gMonBackPic_Murkrow[]; +extern const u8 gMonShinyPalette_Murkrow[]; +extern const u8 gMonIcon_Murkrow[]; +extern const u8 gMonFootprint_Murkrow[]; +extern const u8 gMonFrontPic_Slowking[]; +extern const u8 gMonPalette_Slowking[]; +extern const u8 gMonBackPic_Slowking[]; +extern const u8 gMonShinyPalette_Slowking[]; +extern const u8 gMonIcon_Slowking[]; +extern const u8 gMonFootprint_Slowking[]; +extern const u8 gMonFrontPic_Misdreavus[]; +extern const u8 gMonPalette_Misdreavus[]; +extern const u8 gMonBackPic_Misdreavus[]; +extern const u8 gMonShinyPalette_Misdreavus[]; +extern const u8 gMonIcon_Misdreavus[]; +extern const u8 gMonFootprint_Misdreavus[]; +extern const u8 gMonFrontPic_UnownA[]; +extern const u8 gMonPalette_Unown[]; +extern const u8 gMonBackPic_UnownA[]; +extern const u8 gMonShinyPalette_Unown[]; +extern const u8 gMonIcon_UnownA[]; +extern const u8 gMonFootprint_Unown[]; +extern const u8 gMonFrontPic_Wobbuffet[]; +extern const u8 gMonPalette_Wobbuffet[]; +extern const u8 gMonBackPic_Wobbuffet[]; +extern const u8 gMonShinyPalette_Wobbuffet[]; +extern const u8 gMonIcon_Wobbuffet[]; +extern const u8 gMonFootprint_Wobbuffet[]; +extern const u8 gMonFrontPic_Girafarig[]; +extern const u8 gMonPalette_Girafarig[]; +extern const u8 gMonBackPic_Girafarig[]; +extern const u8 gMonShinyPalette_Girafarig[]; +extern const u8 gMonIcon_Girafarig[]; +extern const u8 gMonFootprint_Girafarig[]; +extern const u8 gMonFrontPic_Pineco[]; +extern const u8 gMonPalette_Pineco[]; +extern const u8 gMonBackPic_Pineco[]; +extern const u8 gMonShinyPalette_Pineco[]; +extern const u8 gMonIcon_Pineco[]; +extern const u8 gMonFootprint_Pineco[]; +extern const u8 gMonFrontPic_Forretress[]; +extern const u8 gMonPalette_Forretress[]; +extern const u8 gMonBackPic_Forretress[]; +extern const u8 gMonShinyPalette_Forretress[]; +extern const u8 gMonIcon_Forretress[]; +extern const u8 gMonFootprint_Forretress[]; +extern const u8 gMonFrontPic_Dunsparce[]; +extern const u8 gMonPalette_Dunsparce[]; +extern const u8 gMonBackPic_Dunsparce[]; +extern const u8 gMonShinyPalette_Dunsparce[]; +extern const u8 gMonIcon_Dunsparce[]; +extern const u8 gMonFootprint_Dunsparce[]; +extern const u8 gMonFrontPic_Gligar[]; +extern const u8 gMonPalette_Gligar[]; +extern const u8 gMonBackPic_Gligar[]; +extern const u8 gMonShinyPalette_Gligar[]; +extern const u8 gMonIcon_Gligar[]; +extern const u8 gMonFootprint_Gligar[]; +extern const u8 gMonFrontPic_Steelix[]; +extern const u8 gMonPalette_Steelix[]; +extern const u8 gMonBackPic_Steelix[]; +extern const u8 gMonShinyPalette_Steelix[]; +extern const u8 gMonIcon_Steelix[]; +extern const u8 gMonFootprint_Steelix[]; +extern const u8 gMonFrontPic_Snubbull[]; +extern const u8 gMonPalette_Snubbull[]; +extern const u8 gMonBackPic_Snubbull[]; +extern const u8 gMonShinyPalette_Snubbull[]; +extern const u8 gMonIcon_Snubbull[]; +extern const u8 gMonFootprint_Snubbull[]; +extern const u8 gMonFrontPic_Granbull[]; +extern const u8 gMonPalette_Granbull[]; +extern const u8 gMonBackPic_Granbull[]; +extern const u8 gMonShinyPalette_Granbull[]; +extern const u8 gMonIcon_Granbull[]; +extern const u8 gMonFootprint_Granbull[]; +extern const u8 gMonFrontPic_Qwilfish[]; +extern const u8 gMonPalette_Qwilfish[]; +extern const u8 gMonBackPic_Qwilfish[]; +extern const u8 gMonShinyPalette_Qwilfish[]; +extern const u8 gMonIcon_Qwilfish[]; +extern const u8 gMonFootprint_Qwilfish[]; +extern const u8 gMonFrontPic_Scizor[]; +extern const u8 gMonPalette_Scizor[]; +extern const u8 gMonBackPic_Scizor[]; +extern const u8 gMonShinyPalette_Scizor[]; +extern const u8 gMonIcon_Scizor[]; +extern const u8 gMonFootprint_Scizor[]; +extern const u8 gMonFrontPic_Shuckle[]; +extern const u8 gMonPalette_Shuckle[]; +extern const u8 gMonBackPic_Shuckle[]; +extern const u8 gMonShinyPalette_Shuckle[]; +extern const u8 gMonIcon_Shuckle[]; +extern const u8 gMonFootprint_Shuckle[]; +extern const u8 gMonFrontPic_Heracross[]; +extern const u8 gMonPalette_Heracross[]; +extern const u8 gMonBackPic_Heracross[]; +extern const u8 gMonShinyPalette_Heracross[]; +extern const u8 gMonIcon_Heracross[]; +extern const u8 gMonFootprint_Heracross[]; +extern const u8 gMonFrontPic_Sneasel[]; +extern const u8 gMonPalette_Sneasel[]; +extern const u8 gMonBackPic_Sneasel[]; +extern const u8 gMonShinyPalette_Sneasel[]; +extern const u8 gMonIcon_Sneasel[]; +extern const u8 gMonFootprint_Sneasel[]; +extern const u8 gMonFrontPic_Teddiursa[]; +extern const u8 gMonPalette_Teddiursa[]; +extern const u8 gMonBackPic_Teddiursa[]; +extern const u8 gMonShinyPalette_Teddiursa[]; +extern const u8 gMonIcon_Teddiursa[]; +extern const u8 gMonFootprint_Teddiursa[]; +extern const u8 gMonFrontPic_Ursaring[]; +extern const u8 gMonPalette_Ursaring[]; +extern const u8 gMonBackPic_Ursaring[]; +extern const u8 gMonShinyPalette_Ursaring[]; +extern const u8 gMonIcon_Ursaring[]; +extern const u8 gMonFootprint_Ursaring[]; +extern const u8 gMonFrontPic_Slugma[]; +extern const u8 gMonPalette_Slugma[]; +extern const u8 gMonBackPic_Slugma[]; +extern const u8 gMonShinyPalette_Slugma[]; +extern const u8 gMonIcon_Slugma[]; +extern const u8 gMonFootprint_Slugma[]; +extern const u8 gMonFrontPic_Magcargo[]; +extern const u8 gMonPalette_Magcargo[]; +extern const u8 gMonBackPic_Magcargo[]; +extern const u8 gMonShinyPalette_Magcargo[]; +extern const u8 gMonIcon_Magcargo[]; +extern const u8 gMonFootprint_Magcargo[]; +extern const u8 gMonFrontPic_Swinub[]; +extern const u8 gMonPalette_Swinub[]; +extern const u8 gMonBackPic_Swinub[]; +extern const u8 gMonShinyPalette_Swinub[]; +extern const u8 gMonIcon_Swinub[]; +extern const u8 gMonFootprint_Swinub[]; +extern const u8 gMonFrontPic_Piloswine[]; +extern const u8 gMonPalette_Piloswine[]; +extern const u8 gMonBackPic_Piloswine[]; +extern const u8 gMonShinyPalette_Piloswine[]; +extern const u8 gMonIcon_Piloswine[]; +extern const u8 gMonFootprint_Piloswine[]; +extern const u8 gMonFrontPic_Corsola[]; +extern const u8 gMonPalette_Corsola[]; +extern const u8 gMonBackPic_Corsola[]; +extern const u8 gMonShinyPalette_Corsola[]; +extern const u8 gMonIcon_Corsola[]; +extern const u8 gMonFootprint_Corsola[]; +extern const u8 gMonFrontPic_Remoraid[]; +extern const u8 gMonPalette_Remoraid[]; +extern const u8 gMonBackPic_Remoraid[]; +extern const u8 gMonShinyPalette_Remoraid[]; +extern const u8 gMonIcon_Remoraid[]; +extern const u8 gMonFootprint_Remoraid[]; +extern const u8 gMonFrontPic_Octillery[]; +extern const u8 gMonPalette_Octillery[]; +extern const u8 gMonBackPic_Octillery[]; +extern const u8 gMonShinyPalette_Octillery[]; +extern const u8 gMonIcon_Octillery[]; +extern const u8 gMonFootprint_Octillery[]; +extern const u8 gMonFrontPic_Delibird[]; +extern const u8 gMonPalette_Delibird[]; +extern const u8 gMonBackPic_Delibird[]; +extern const u8 gMonShinyPalette_Delibird[]; +extern const u8 gMonIcon_Delibird[]; +extern const u8 gMonFootprint_Delibird[]; +extern const u8 gMonFrontPic_Mantine[]; +extern const u8 gMonPalette_Mantine[]; +extern const u8 gMonBackPic_Mantine[]; +extern const u8 gMonShinyPalette_Mantine[]; +extern const u8 gMonIcon_Mantine[]; +extern const u8 gMonFootprint_Mantine[]; +extern const u8 gMonFrontPic_Skarmory[]; +extern const u8 gMonPalette_Skarmory[]; +extern const u8 gMonBackPic_Skarmory[]; +extern const u8 gMonShinyPalette_Skarmory[]; +extern const u8 gMonIcon_Skarmory[]; +extern const u8 gMonFootprint_Skarmory[]; +extern const u8 gMonFrontPic_Houndour[]; +extern const u8 gMonPalette_Houndour[]; +extern const u8 gMonBackPic_Houndour[]; +extern const u8 gMonShinyPalette_Houndour[]; +extern const u8 gMonIcon_Houndour[]; +extern const u8 gMonFootprint_Houndour[]; +extern const u8 gMonFrontPic_Houndoom[]; +extern const u8 gMonPalette_Houndoom[]; +extern const u8 gMonBackPic_Houndoom[]; +extern const u8 gMonShinyPalette_Houndoom[]; +extern const u8 gMonIcon_Houndoom[]; +extern const u8 gMonFootprint_Houndoom[]; +extern const u8 gMonFrontPic_Kingdra[]; +extern const u8 gMonPalette_Kingdra[]; +extern const u8 gMonBackPic_Kingdra[]; +extern const u8 gMonShinyPalette_Kingdra[]; +extern const u8 gMonIcon_Kingdra[]; +extern const u8 gMonFootprint_Kingdra[]; +extern const u8 gMonFrontPic_Phanpy[]; +extern const u8 gMonPalette_Phanpy[]; +extern const u8 gMonBackPic_Phanpy[]; +extern const u8 gMonShinyPalette_Phanpy[]; +extern const u8 gMonIcon_Phanpy[]; +extern const u8 gMonFootprint_Phanpy[]; +extern const u8 gMonFrontPic_Donphan[]; +extern const u8 gMonPalette_Donphan[]; +extern const u8 gMonBackPic_Donphan[]; +extern const u8 gMonShinyPalette_Donphan[]; +extern const u8 gMonIcon_Donphan[]; +extern const u8 gMonFootprint_Donphan[]; +extern const u8 gMonFrontPic_Porygon2[]; +extern const u8 gMonPalette_Porygon2[]; +extern const u8 gMonBackPic_Porygon2[]; +extern const u8 gMonShinyPalette_Porygon2[]; +extern const u8 gMonIcon_Porygon2[]; +extern const u8 gMonFootprint_Porygon2[]; +extern const u8 gMonFrontPic_Stantler[]; +extern const u8 gMonPalette_Stantler[]; +extern const u8 gMonBackPic_Stantler[]; +extern const u8 gMonShinyPalette_Stantler[]; +extern const u8 gMonIcon_Stantler[]; +extern const u8 gMonFootprint_Stantler[]; +extern const u8 gMonFrontPic_Smeargle[]; +extern const u8 gMonPalette_Smeargle[]; +extern const u8 gMonBackPic_Smeargle[]; +extern const u8 gMonShinyPalette_Smeargle[]; +extern const u8 gMonIcon_Smeargle[]; +extern const u8 gMonFootprint_Smeargle[]; +extern const u8 gMonFrontPic_Tyrogue[]; +extern const u8 gMonPalette_Tyrogue[]; +extern const u8 gMonBackPic_Tyrogue[]; +extern const u8 gMonShinyPalette_Tyrogue[]; +extern const u8 gMonIcon_Tyrogue[]; +extern const u8 gMonFootprint_Tyrogue[]; +extern const u8 gMonFrontPic_Hitmontop[]; +extern const u8 gMonPalette_Hitmontop[]; +extern const u8 gMonBackPic_Hitmontop[]; +extern const u8 gMonShinyPalette_Hitmontop[]; +extern const u8 gMonIcon_Hitmontop[]; +extern const u8 gMonFootprint_Hitmontop[]; +extern const u8 gMonFrontPic_Smoochum[]; +extern const u8 gMonPalette_Smoochum[]; +extern const u8 gMonBackPic_Smoochum[]; +extern const u8 gMonShinyPalette_Smoochum[]; +extern const u8 gMonIcon_Smoochum[]; +extern const u8 gMonFootprint_Smoochum[]; +extern const u8 gMonFrontPic_Elekid[]; +extern const u8 gMonPalette_Elekid[]; +extern const u8 gMonBackPic_Elekid[]; +extern const u8 gMonShinyPalette_Elekid[]; +extern const u8 gMonIcon_Elekid[]; +extern const u8 gMonFootprint_Elekid[]; +extern const u8 gMonFrontPic_Magby[]; +extern const u8 gMonPalette_Magby[]; +extern const u8 gMonBackPic_Magby[]; +extern const u8 gMonShinyPalette_Magby[]; +extern const u8 gMonIcon_Magby[]; +extern const u8 gMonFootprint_Magby[]; +extern const u8 gMonFrontPic_Miltank[]; +extern const u8 gMonPalette_Miltank[]; +extern const u8 gMonBackPic_Miltank[]; +extern const u8 gMonShinyPalette_Miltank[]; +extern const u8 gMonIcon_Miltank[]; +extern const u8 gMonFootprint_Miltank[]; +extern const u8 gMonFrontPic_Blissey[]; +extern const u8 gMonPalette_Blissey[]; +extern const u8 gMonBackPic_Blissey[]; +extern const u8 gMonShinyPalette_Blissey[]; +extern const u8 gMonIcon_Blissey[]; +extern const u8 gMonFootprint_Blissey[]; +extern const u8 gMonFrontPic_Raikou[]; +extern const u8 gMonPalette_Raikou[]; +extern const u8 gMonBackPic_Raikou[]; +extern const u8 gMonShinyPalette_Raikou[]; +extern const u8 gMonIcon_Raikou[]; +extern const u8 gMonFootprint_Raikou[]; +extern const u8 gMonFrontPic_Entei[]; +extern const u8 gMonPalette_Entei[]; +extern const u8 gMonBackPic_Entei[]; +extern const u8 gMonShinyPalette_Entei[]; +extern const u8 gMonIcon_Entei[]; +extern const u8 gMonFootprint_Entei[]; +extern const u8 gMonFrontPic_Suicune[]; +extern const u8 gMonPalette_Suicune[]; +extern const u8 gMonBackPic_Suicune[]; +extern const u8 gMonShinyPalette_Suicune[]; +extern const u8 gMonIcon_Suicune[]; +extern const u8 gMonFootprint_Suicune[]; +extern const u8 gMonFrontPic_Larvitar[]; +extern const u8 gMonPalette_Larvitar[]; +extern const u8 gMonBackPic_Larvitar[]; +extern const u8 gMonShinyPalette_Larvitar[]; +extern const u8 gMonIcon_Larvitar[]; +extern const u8 gMonFootprint_Larvitar[]; +extern const u8 gMonFrontPic_Pupitar[]; +extern const u8 gMonPalette_Pupitar[]; +extern const u8 gMonBackPic_Pupitar[]; +extern const u8 gMonShinyPalette_Pupitar[]; +extern const u8 gMonIcon_Pupitar[]; +extern const u8 gMonFootprint_Pupitar[]; +extern const u8 gMonFrontPic_Tyranitar[]; +extern const u8 gMonPalette_Tyranitar[]; +extern const u8 gMonBackPic_Tyranitar[]; +extern const u8 gMonShinyPalette_Tyranitar[]; +extern const u8 gMonIcon_Tyranitar[]; +extern const u8 gMonFootprint_Tyranitar[]; +extern const u8 gMonFrontPic_Lugia[]; +extern const u8 gMonPalette_Lugia[]; +extern const u8 gMonBackPic_Lugia[]; +extern const u8 gMonShinyPalette_Lugia[]; +extern const u8 gMonIcon_Lugia[]; +extern const u8 gMonFootprint_Lugia[]; +extern const u8 gMonFrontPic_HoOh[]; +extern const u8 gMonPalette_HoOh[]; +extern const u8 gMonBackPic_HoOh[]; +extern const u8 gMonShinyPalette_HoOh[]; +extern const u8 gMonIcon_HoOh[]; +extern const u8 gMonFootprint_HoOh[]; +extern const u8 gMonFrontPic_Celebi[]; +extern const u8 gMonPalette_Celebi[]; +extern const u8 gMonBackPic_Celebi[]; +extern const u8 gMonShinyPalette_Celebi[]; +extern const u8 gMonIcon_Celebi[]; +extern const u8 gMonFootprint_Celebi[]; +extern const u8 gMonFrontPic_QuestionMark[]; +extern const u8 gMonPalette_QuestionMark[]; +extern const u8 gMonBackPic_QuestionMark[]; +extern const u8 gMonShinyPalette_QuestionMark[]; +extern const u8 gMonFrontPic_Treecko[]; +extern const u8 gMonPalette_Treecko[]; +extern const u8 gMonBackPic_Treecko[]; +extern const u8 gMonShinyPalette_Treecko[]; +extern const u8 gMonIcon_Treecko[]; +extern const u8 gMonFootprint_Treecko[]; +extern const u8 gMonFrontPic_Grovyle[]; +extern const u8 gMonPalette_Grovyle[]; +extern const u8 gMonBackPic_Grovyle[]; +extern const u8 gMonShinyPalette_Grovyle[]; +extern const u8 gMonIcon_Grovyle[]; +extern const u8 gMonFootprint_Grovyle[]; +extern const u8 gMonFrontPic_Sceptile[]; +extern const u8 gMonPalette_Sceptile[]; +extern const u8 gMonBackPic_Sceptile[]; +extern const u8 gMonShinyPalette_Sceptile[]; +extern const u8 gMonIcon_Sceptile[]; +extern const u8 gMonFootprint_Sceptile[]; +extern const u8 gMonFrontPic_Torchic[]; +extern const u8 gMonPalette_Torchic[]; +extern const u8 gMonBackPic_Torchic[]; +extern const u8 gMonShinyPalette_Torchic[]; +extern const u8 gMonIcon_Torchic[]; +extern const u8 gMonFootprint_Torchic[]; +extern const u8 gMonFrontPic_Combusken[]; +extern const u8 gMonPalette_Combusken[]; +extern const u8 gMonBackPic_Combusken[]; +extern const u8 gMonShinyPalette_Combusken[]; +extern const u8 gMonIcon_Combusken[]; +extern const u8 gMonFootprint_Combusken[]; +extern const u8 gMonFrontPic_Blaziken[]; +extern const u8 gMonPalette_Blaziken[]; +extern const u8 gMonBackPic_Blaziken[]; +extern const u8 gMonShinyPalette_Blaziken[]; +extern const u8 gMonIcon_Blaziken[]; +extern const u8 gMonFootprint_Blaziken[]; +extern const u8 gMonFrontPic_Mudkip[]; +extern const u8 gMonPalette_Mudkip[]; +extern const u8 gMonBackPic_Mudkip[]; +extern const u8 gMonShinyPalette_Mudkip[]; +extern const u8 gMonIcon_Mudkip[]; +extern const u8 gMonFootprint_Mudkip[]; +extern const u8 gMonFrontPic_Marshtomp[]; +extern const u8 gMonPalette_Marshtomp[]; +extern const u8 gMonBackPic_Marshtomp[]; +extern const u8 gMonShinyPalette_Marshtomp[]; +extern const u8 gMonIcon_Marshtomp[]; +extern const u8 gMonFootprint_Marshtomp[]; +extern const u8 gMonFrontPic_Swampert[]; +extern const u8 gMonPalette_Swampert[]; +extern const u8 gMonBackPic_Swampert[]; +extern const u8 gMonShinyPalette_Swampert[]; +extern const u8 gMonIcon_Swampert[]; +extern const u8 gMonFootprint_Swampert[]; +extern const u8 gMonFrontPic_Poochyena[]; +extern const u8 gMonPalette_Poochyena[]; +extern const u8 gMonBackPic_Poochyena[]; +extern const u8 gMonShinyPalette_Poochyena[]; +extern const u8 gMonIcon_Poochyena[]; +extern const u8 gMonFootprint_Poochyena[]; +extern const u8 gMonFrontPic_Mightyena[]; +extern const u8 gMonPalette_Mightyena[]; +extern const u8 gMonBackPic_Mightyena[]; +extern const u8 gMonShinyPalette_Mightyena[]; +extern const u8 gMonIcon_Mightyena[]; +extern const u8 gMonFootprint_Mightyena[]; +extern const u8 gMonFrontPic_Zigzagoon[]; +extern const u8 gMonPalette_Zigzagoon[]; +extern const u8 gMonBackPic_Zigzagoon[]; +extern const u8 gMonShinyPalette_Zigzagoon[]; +extern const u8 gMonIcon_Zigzagoon[]; +extern const u8 gMonFootprint_Zigzagoon[]; +extern const u8 gMonFrontPic_Linoone[]; +extern const u8 gMonPalette_Linoone[]; +extern const u8 gMonBackPic_Linoone[]; +extern const u8 gMonShinyPalette_Linoone[]; +extern const u8 gMonIcon_Linoone[]; +extern const u8 gMonFootprint_Linoone[]; +extern const u8 gMonFrontPic_Wurmple[]; +extern const u8 gMonPalette_Wurmple[]; +extern const u8 gMonBackPic_Wurmple[]; +extern const u8 gMonShinyPalette_Wurmple[]; +extern const u8 gMonIcon_Wurmple[]; +extern const u8 gMonFootprint_Wurmple[]; +extern const u8 gMonFrontPic_Silcoon[]; +extern const u8 gMonPalette_Silcoon[]; +extern const u8 gMonBackPic_Silcoon[]; +extern const u8 gMonShinyPalette_Silcoon[]; +extern const u8 gMonIcon_Silcoon[]; +extern const u8 gMonFootprint_Silcoon[]; +extern const u8 gMonFrontPic_Beautifly[]; +extern const u8 gMonPalette_Beautifly[]; +extern const u8 gMonBackPic_Beautifly[]; +extern const u8 gMonShinyPalette_Beautifly[]; +extern const u8 gMonIcon_Beautifly[]; +extern const u8 gMonFootprint_Beautifly[]; +extern const u8 gMonFrontPic_Cascoon[]; +extern const u8 gMonPalette_Cascoon[]; +extern const u8 gMonBackPic_Cascoon[]; +extern const u8 gMonShinyPalette_Cascoon[]; +extern const u8 gMonIcon_Cascoon[]; +extern const u8 gMonFootprint_Cascoon[]; +extern const u8 gMonFrontPic_Dustox[]; +extern const u8 gMonPalette_Dustox[]; +extern const u8 gMonBackPic_Dustox[]; +extern const u8 gMonShinyPalette_Dustox[]; +extern const u8 gMonIcon_Dustox[]; +extern const u8 gMonFootprint_Dustox[]; +extern const u8 gMonFrontPic_Lotad[]; +extern const u8 gMonPalette_Lotad[]; +extern const u8 gMonBackPic_Lotad[]; +extern const u8 gMonShinyPalette_Lotad[]; +extern const u8 gMonIcon_Lotad[]; +extern const u8 gMonFootprint_Lotad[]; +extern const u8 gMonFrontPic_Lombre[]; +extern const u8 gMonPalette_Lombre[]; +extern const u8 gMonBackPic_Lombre[]; +extern const u8 gMonShinyPalette_Lombre[]; +extern const u8 gMonIcon_Lombre[]; +extern const u8 gMonFootprint_Lombre[]; +extern const u8 gMonFrontPic_Ludicolo[]; +extern const u8 gMonPalette_Ludicolo[]; +extern const u8 gMonBackPic_Ludicolo[]; +extern const u8 gMonShinyPalette_Ludicolo[]; +extern const u8 gMonIcon_Ludicolo[]; +extern const u8 gMonFootprint_Ludicolo[]; +extern const u8 gMonFrontPic_Seedot[]; +extern const u8 gMonPalette_Seedot[]; +extern const u8 gMonBackPic_Seedot[]; +extern const u8 gMonShinyPalette_Seedot[]; +extern const u8 gMonIcon_Seedot[]; +extern const u8 gMonFootprint_Seedot[]; +extern const u8 gMonFrontPic_Nuzleaf[]; +extern const u8 gMonPalette_Nuzleaf[]; +extern const u8 gMonBackPic_Nuzleaf[]; +extern const u8 gMonShinyPalette_Nuzleaf[]; +extern const u8 gMonIcon_Nuzleaf[]; +extern const u8 gMonFootprint_Nuzleaf[]; +extern const u8 gMonFrontPic_Shiftry[]; +extern const u8 gMonPalette_Shiftry[]; +extern const u8 gMonBackPic_Shiftry[]; +extern const u8 gMonShinyPalette_Shiftry[]; +extern const u8 gMonIcon_Shiftry[]; +extern const u8 gMonFootprint_Shiftry[]; +extern const u8 gMonFrontPic_Nincada[]; +extern const u8 gMonPalette_Nincada[]; +extern const u8 gMonBackPic_Nincada[]; +extern const u8 gMonShinyPalette_Nincada[]; +extern const u8 gMonIcon_Nincada[]; +extern const u8 gMonFootprint_Nincada[]; +extern const u8 gMonFrontPic_Ninjask[]; +extern const u8 gMonPalette_Ninjask[]; +extern const u8 gMonBackPic_Ninjask[]; +extern const u8 gMonShinyPalette_Ninjask[]; +extern const u8 gMonIcon_Ninjask[]; +extern const u8 gMonFootprint_Ninjask[]; +extern const u8 gMonFrontPic_Shedinja[]; +extern const u8 gMonPalette_Shedinja[]; +extern const u8 gMonBackPic_Shedinja[]; +extern const u8 gMonShinyPalette_Shedinja[]; +extern const u8 gMonIcon_Shedinja[]; +extern const u8 gMonFootprint_Shedinja[]; +extern const u8 gMonFrontPic_Taillow[]; +extern const u8 gMonPalette_Taillow[]; +extern const u8 gMonBackPic_Taillow[]; +extern const u8 gMonShinyPalette_Taillow[]; +extern const u8 gMonIcon_Taillow[]; +extern const u8 gMonFootprint_Taillow[]; +extern const u8 gMonFrontPic_Swellow[]; +extern const u8 gMonPalette_Swellow[]; +extern const u8 gMonBackPic_Swellow[]; +extern const u8 gMonShinyPalette_Swellow[]; +extern const u8 gMonIcon_Swellow[]; +extern const u8 gMonFootprint_Swellow[]; +extern const u8 gMonFrontPic_Shroomish[]; +extern const u8 gMonPalette_Shroomish[]; +extern const u8 gMonBackPic_Shroomish[]; +extern const u8 gMonShinyPalette_Shroomish[]; +extern const u8 gMonIcon_Shroomish[]; +extern const u8 gMonFootprint_Shroomish[]; +extern const u8 gMonFrontPic_Breloom[]; +extern const u8 gMonPalette_Breloom[]; +extern const u8 gMonBackPic_Breloom[]; +extern const u8 gMonShinyPalette_Breloom[]; +extern const u8 gMonIcon_Breloom[]; +extern const u8 gMonFootprint_Breloom[]; +extern const u8 gMonFrontPic_Spinda[]; +extern const u8 gMonPalette_Spinda[]; +extern const u8 gMonBackPic_Spinda[]; +extern const u8 gMonShinyPalette_Spinda[]; +extern const u8 gMonIcon_Spinda[]; +extern const u8 gMonFootprint_Spinda[]; +extern const u8 gMonFrontPic_Wingull[]; +extern const u8 gMonPalette_Wingull[]; +extern const u8 gMonBackPic_Wingull[]; +extern const u8 gMonShinyPalette_Wingull[]; +extern const u8 gMonIcon_Wingull[]; +extern const u8 gMonFootprint_Wingull[]; +extern const u8 gMonFrontPic_Pelipper[]; +extern const u8 gMonPalette_Pelipper[]; +extern const u8 gMonBackPic_Pelipper[]; +extern const u8 gMonShinyPalette_Pelipper[]; +extern const u8 gMonIcon_Pelipper[]; +extern const u8 gMonFootprint_Pelipper[]; +extern const u8 gMonFrontPic_Surskit[]; +extern const u8 gMonPalette_Surskit[]; +extern const u8 gMonBackPic_Surskit[]; +extern const u8 gMonShinyPalette_Surskit[]; +extern const u8 gMonIcon_Surskit[]; +extern const u8 gMonFootprint_Surskit[]; +extern const u8 gMonFrontPic_Masquerain[]; +extern const u8 gMonPalette_Masquerain[]; +extern const u8 gMonBackPic_Masquerain[]; +extern const u8 gMonShinyPalette_Masquerain[]; +extern const u8 gMonIcon_Masquerain[]; +extern const u8 gMonFootprint_Masquerain[]; +extern const u8 gMonFrontPic_Wailmer[]; +extern const u8 gMonPalette_Wailmer[]; +extern const u8 gMonBackPic_Wailmer[]; +extern const u8 gMonShinyPalette_Wailmer[]; +extern const u8 gMonIcon_Wailmer[]; +extern const u8 gMonFootprint_Wailmer[]; +extern const u8 gMonFrontPic_Wailord[]; +extern const u8 gMonPalette_Wailord[]; +extern const u8 gMonBackPic_Wailord[]; +extern const u8 gMonShinyPalette_Wailord[]; +extern const u8 gMonIcon_Wailord[]; +extern const u8 gMonFootprint_Wailord[]; +extern const u8 gMonFrontPic_Skitty[]; +extern const u8 gMonPalette_Skitty[]; +extern const u8 gMonBackPic_Skitty[]; +extern const u8 gMonShinyPalette_Skitty[]; +extern const u8 gMonIcon_Skitty[]; +extern const u8 gMonFootprint_Skitty[]; +extern const u8 gMonFrontPic_Delcatty[]; +extern const u8 gMonPalette_Delcatty[]; +extern const u8 gMonBackPic_Delcatty[]; +extern const u8 gMonShinyPalette_Delcatty[]; +extern const u8 gMonIcon_Delcatty[]; +extern const u8 gMonFootprint_Delcatty[]; +extern const u8 gMonFrontPic_Kecleon[]; +extern const u8 gMonPalette_Kecleon[]; +extern const u8 gMonBackPic_Kecleon[]; +extern const u8 gMonShinyPalette_Kecleon[]; +extern const u8 gMonIcon_Kecleon[]; +extern const u8 gMonFootprint_Kecleon[]; +extern const u8 gMonFrontPic_Baltoy[]; +extern const u8 gMonPalette_Baltoy[]; +extern const u8 gMonBackPic_Baltoy[]; +extern const u8 gMonShinyPalette_Baltoy[]; +extern const u8 gMonIcon_Baltoy[]; +extern const u8 gMonFootprint_Baltoy[]; +extern const u8 gMonFrontPic_Claydol[]; +extern const u8 gMonPalette_Claydol[]; +extern const u8 gMonBackPic_Claydol[]; +extern const u8 gMonShinyPalette_Claydol[]; +extern const u8 gMonIcon_Claydol[]; +extern const u8 gMonFootprint_Claydol[]; +extern const u8 gMonFrontPic_Nosepass[]; +extern const u8 gMonPalette_Nosepass[]; +extern const u8 gMonBackPic_Nosepass[]; +extern const u8 gMonShinyPalette_Nosepass[]; +extern const u8 gMonIcon_Nosepass[]; +extern const u8 gMonFootprint_Nosepass[]; +extern const u8 gMonFrontPic_Torkoal[]; +extern const u8 gMonPalette_Torkoal[]; +extern const u8 gMonBackPic_Torkoal[]; +extern const u8 gMonShinyPalette_Torkoal[]; +extern const u8 gMonIcon_Torkoal[]; +extern const u8 gMonFootprint_Torkoal[]; +extern const u8 gMonFrontPic_Sableye[]; +extern const u8 gMonPalette_Sableye[]; +extern const u8 gMonBackPic_Sableye[]; +extern const u8 gMonShinyPalette_Sableye[]; +extern const u8 gMonIcon_Sableye[]; +extern const u8 gMonFootprint_Sableye[]; +extern const u8 gMonFrontPic_Barboach[]; +extern const u8 gMonPalette_Barboach[]; +extern const u8 gMonBackPic_Barboach[]; +extern const u8 gMonShinyPalette_Barboach[]; +extern const u8 gMonIcon_Barboach[]; +extern const u8 gMonFootprint_Barboach[]; +extern const u8 gMonFrontPic_Whiscash[]; +extern const u8 gMonPalette_Whiscash[]; +extern const u8 gMonBackPic_Whiscash[]; +extern const u8 gMonShinyPalette_Whiscash[]; +extern const u8 gMonIcon_Whiscash[]; +extern const u8 gMonFootprint_Whiscash[]; +extern const u8 gMonFrontPic_Luvdisc[]; +extern const u8 gMonPalette_Luvdisc[]; +extern const u8 gMonBackPic_Luvdisc[]; +extern const u8 gMonShinyPalette_Luvdisc[]; +extern const u8 gMonIcon_Luvdisc[]; +extern const u8 gMonFootprint_Luvdisc[]; +extern const u8 gMonFrontPic_Corphish[]; +extern const u8 gMonPalette_Corphish[]; +extern const u8 gMonBackPic_Corphish[]; +extern const u8 gMonShinyPalette_Corphish[]; +extern const u8 gMonIcon_Corphish[]; +extern const u8 gMonFootprint_Corphish[]; +extern const u8 gMonFrontPic_Crawdaunt[]; +extern const u8 gMonPalette_Crawdaunt[]; +extern const u8 gMonBackPic_Crawdaunt[]; +extern const u8 gMonShinyPalette_Crawdaunt[]; +extern const u8 gMonIcon_Crawdaunt[]; +extern const u8 gMonFootprint_Crawdaunt[]; +extern const u8 gMonFrontPic_Feebas[]; +extern const u8 gMonPalette_Feebas[]; +extern const u8 gMonBackPic_Feebas[]; +extern const u8 gMonShinyPalette_Feebas[]; +extern const u8 gMonIcon_Feebas[]; +extern const u8 gMonFootprint_Feebas[]; +extern const u8 gMonFrontPic_Milotic[]; +extern const u8 gMonPalette_Milotic[]; +extern const u8 gMonBackPic_Milotic[]; +extern const u8 gMonShinyPalette_Milotic[]; +extern const u8 gMonIcon_Milotic[]; +extern const u8 gMonFootprint_Milotic[]; +extern const u8 gMonFrontPic_Carvanha[]; +extern const u8 gMonPalette_Carvanha[]; +extern const u8 gMonBackPic_Carvanha[]; +extern const u8 gMonShinyPalette_Carvanha[]; +extern const u8 gMonIcon_Carvanha[]; +extern const u8 gMonFootprint_Carvanha[]; +extern const u8 gMonFrontPic_Sharpedo[]; +extern const u8 gMonPalette_Sharpedo[]; +extern const u8 gMonBackPic_Sharpedo[]; +extern const u8 gMonShinyPalette_Sharpedo[]; +extern const u8 gMonIcon_Sharpedo[]; +extern const u8 gMonFootprint_Sharpedo[]; +extern const u8 gMonFrontPic_Trapinch[]; +extern const u8 gMonPalette_Trapinch[]; +extern const u8 gMonBackPic_Trapinch[]; +extern const u8 gMonShinyPalette_Trapinch[]; +extern const u8 gMonIcon_Trapinch[]; +extern const u8 gMonFootprint_Trapinch[]; +extern const u8 gMonFrontPic_Vibrava[]; +extern const u8 gMonPalette_Vibrava[]; +extern const u8 gMonBackPic_Vibrava[]; +extern const u8 gMonShinyPalette_Vibrava[]; +extern const u8 gMonIcon_Vibrava[]; +extern const u8 gMonFootprint_Vibrava[]; +extern const u8 gMonFrontPic_Flygon[]; +extern const u8 gMonPalette_Flygon[]; +extern const u8 gMonBackPic_Flygon[]; +extern const u8 gMonShinyPalette_Flygon[]; +extern const u8 gMonIcon_Flygon[]; +extern const u8 gMonFootprint_Flygon[]; +extern const u8 gMonFrontPic_Makuhita[]; +extern const u8 gMonPalette_Makuhita[]; +extern const u8 gMonBackPic_Makuhita[]; +extern const u8 gMonShinyPalette_Makuhita[]; +extern const u8 gMonIcon_Makuhita[]; +extern const u8 gMonFootprint_Makuhita[]; +extern const u8 gMonFrontPic_Hariyama[]; +extern const u8 gMonPalette_Hariyama[]; +extern const u8 gMonBackPic_Hariyama[]; +extern const u8 gMonShinyPalette_Hariyama[]; +extern const u8 gMonIcon_Hariyama[]; +extern const u8 gMonFootprint_Hariyama[]; +extern const u8 gMonFrontPic_Electrike[]; +extern const u8 gMonPalette_Electrike[]; +extern const u8 gMonBackPic_Electrike[]; +extern const u8 gMonShinyPalette_Electrike[]; +extern const u8 gMonIcon_Electrike[]; +extern const u8 gMonFootprint_Electrike[]; +extern const u8 gMonFrontPic_Manectric[]; +extern const u8 gMonPalette_Manectric[]; +extern const u8 gMonBackPic_Manectric[]; +extern const u8 gMonShinyPalette_Manectric[]; +extern const u8 gMonIcon_Manectric[]; +extern const u8 gMonFootprint_Manectric[]; +extern const u8 gMonFrontPic_Numel[]; +extern const u8 gMonPalette_Numel[]; +extern const u8 gMonBackPic_Numel[]; +extern const u8 gMonShinyPalette_Numel[]; +extern const u8 gMonIcon_Numel[]; +extern const u8 gMonFootprint_Numel[]; +extern const u8 gMonFrontPic_Camerupt[]; +extern const u8 gMonPalette_Camerupt[]; +extern const u8 gMonBackPic_Camerupt[]; +extern const u8 gMonShinyPalette_Camerupt[]; +extern const u8 gMonIcon_Camerupt[]; +extern const u8 gMonFootprint_Camerupt[]; +extern const u8 gMonFrontPic_Spheal[]; +extern const u8 gMonPalette_Spheal[]; +extern const u8 gMonBackPic_Spheal[]; +extern const u8 gMonShinyPalette_Spheal[]; +extern const u8 gMonIcon_Spheal[]; +extern const u8 gMonFootprint_Spheal[]; +extern const u8 gMonFrontPic_Sealeo[]; +extern const u8 gMonPalette_Sealeo[]; +extern const u8 gMonBackPic_Sealeo[]; +extern const u8 gMonShinyPalette_Sealeo[]; +extern const u8 gMonIcon_Sealeo[]; +extern const u8 gMonFootprint_Sealeo[]; +extern const u8 gMonFrontPic_Walrein[]; +extern const u8 gMonPalette_Walrein[]; +extern const u8 gMonBackPic_Walrein[]; +extern const u8 gMonShinyPalette_Walrein[]; +extern const u8 gMonIcon_Walrein[]; +extern const u8 gMonFootprint_Walrein[]; +extern const u8 gMonFrontPic_Cacnea[]; +extern const u8 gMonPalette_Cacnea[]; +extern const u8 gMonBackPic_Cacnea[]; +extern const u8 gMonShinyPalette_Cacnea[]; +extern const u8 gMonIcon_Cacnea[]; +extern const u8 gMonFootprint_Cacnea[]; +extern const u8 gMonFrontPic_Cacturne[]; +extern const u8 gMonPalette_Cacturne[]; +extern const u8 gMonBackPic_Cacturne[]; +extern const u8 gMonShinyPalette_Cacturne[]; +extern const u8 gMonIcon_Cacturne[]; +extern const u8 gMonFootprint_Cacturne[]; +extern const u8 gMonFrontPic_Snorunt[]; +extern const u8 gMonPalette_Snorunt[]; +extern const u8 gMonBackPic_Snorunt[]; +extern const u8 gMonShinyPalette_Snorunt[]; +extern const u8 gMonIcon_Snorunt[]; +extern const u8 gMonFootprint_Snorunt[]; +extern const u8 gMonFrontPic_Glalie[]; +extern const u8 gMonPalette_Glalie[]; +extern const u8 gMonBackPic_Glalie[]; +extern const u8 gMonShinyPalette_Glalie[]; +extern const u8 gMonIcon_Glalie[]; +extern const u8 gMonFootprint_Glalie[]; +extern const u8 gMonFrontPic_Lunatone[]; +extern const u8 gMonPalette_Lunatone[]; +extern const u8 gMonBackPic_Lunatone[]; +extern const u8 gMonShinyPalette_Lunatone[]; +extern const u8 gMonIcon_Lunatone[]; +extern const u8 gMonFootprint_Lunatone[]; +extern const u8 gMonFrontPic_Solrock[]; +extern const u8 gMonPalette_Solrock[]; +extern const u8 gMonBackPic_Solrock[]; +extern const u8 gMonShinyPalette_Solrock[]; +extern const u8 gMonIcon_Solrock[]; +extern const u8 gMonFootprint_Solrock[]; +extern const u8 gMonFrontPic_Azurill[]; +extern const u8 gMonPalette_Azurill[]; +extern const u8 gMonBackPic_Azurill[]; +extern const u8 gMonShinyPalette_Azurill[]; +extern const u8 gMonIcon_Azurill[]; +extern const u8 gMonFootprint_Azurill[]; +extern const u8 gMonFrontPic_Spoink[]; +extern const u8 gMonPalette_Spoink[]; +extern const u8 gMonBackPic_Spoink[]; +extern const u8 gMonShinyPalette_Spoink[]; +extern const u8 gMonIcon_Spoink[]; +extern const u8 gMonFootprint_Spoink[]; +extern const u8 gMonFrontPic_Grumpig[]; +extern const u8 gMonPalette_Grumpig[]; +extern const u8 gMonBackPic_Grumpig[]; +extern const u8 gMonShinyPalette_Grumpig[]; +extern const u8 gMonIcon_Grumpig[]; +extern const u8 gMonFootprint_Grumpig[]; +extern const u8 gMonFrontPic_Plusle[]; +extern const u8 gMonPalette_Plusle[]; +extern const u8 gMonBackPic_Plusle[]; +extern const u8 gMonShinyPalette_Plusle[]; +extern const u8 gMonIcon_Plusle[]; +extern const u8 gMonFootprint_Plusle[]; +extern const u8 gMonFrontPic_Minun[]; +extern const u8 gMonPalette_Minun[]; +extern const u8 gMonBackPic_Minun[]; +extern const u8 gMonShinyPalette_Minun[]; +extern const u8 gMonIcon_Minun[]; +extern const u8 gMonFootprint_Minun[]; +extern const u8 gMonFrontPic_Mawile[]; +extern const u8 gMonPalette_Mawile[]; +extern const u8 gMonBackPic_Mawile[]; +extern const u8 gMonShinyPalette_Mawile[]; +extern const u8 gMonIcon_Mawile[]; +extern const u8 gMonFootprint_Mawile[]; +extern const u8 gMonFrontPic_Meditite[]; +extern const u8 gMonPalette_Meditite[]; +extern const u8 gMonBackPic_Meditite[]; +extern const u8 gMonShinyPalette_Meditite[]; +extern const u8 gMonIcon_Meditite[]; +extern const u8 gMonFootprint_Meditite[]; +extern const u8 gMonFrontPic_Medicham[]; +extern const u8 gMonPalette_Medicham[]; +extern const u8 gMonBackPic_Medicham[]; +extern const u8 gMonShinyPalette_Medicham[]; +extern const u8 gMonIcon_Medicham[]; +extern const u8 gMonFootprint_Medicham[]; +extern const u8 gMonFrontPic_Swablu[]; +extern const u8 gMonPalette_Swablu[]; +extern const u8 gMonBackPic_Swablu[]; +extern const u8 gMonShinyPalette_Swablu[]; +extern const u8 gMonIcon_Swablu[]; +extern const u8 gMonFootprint_Swablu[]; +extern const u8 gMonFrontPic_Altaria[]; +extern const u8 gMonPalette_Altaria[]; +extern const u8 gMonBackPic_Altaria[]; +extern const u8 gMonShinyPalette_Altaria[]; +extern const u8 gMonIcon_Altaria[]; +extern const u8 gMonFootprint_Altaria[]; +extern const u8 gMonFrontPic_Wynaut[]; +extern const u8 gMonPalette_Wynaut[]; +extern const u8 gMonBackPic_Wynaut[]; +extern const u8 gMonShinyPalette_Wynaut[]; +extern const u8 gMonIcon_Wynaut[]; +extern const u8 gMonFootprint_Wynaut[]; +extern const u8 gMonFrontPic_Duskull[]; +extern const u8 gMonPalette_Duskull[]; +extern const u8 gMonBackPic_Duskull[]; +extern const u8 gMonShinyPalette_Duskull[]; +extern const u8 gMonIcon_Duskull[]; +extern const u8 gMonFootprint_Duskull[]; +extern const u8 gMonFrontPic_Dusclops[]; +extern const u8 gMonPalette_Dusclops[]; +extern const u8 gMonBackPic_Dusclops[]; +extern const u8 gMonShinyPalette_Dusclops[]; +extern const u8 gMonIcon_Dusclops[]; +extern const u8 gMonFootprint_Dusclops[]; +extern const u8 gMonFrontPic_Roselia[]; +extern const u8 gMonPalette_Roselia[]; +extern const u8 gMonBackPic_Roselia[]; +extern const u8 gMonShinyPalette_Roselia[]; +extern const u8 gMonIcon_Roselia[]; +extern const u8 gMonFootprint_Roselia[]; +extern const u8 gMonFrontPic_Slakoth[]; +extern const u8 gMonPalette_Slakoth[]; +extern const u8 gMonBackPic_Slakoth[]; +extern const u8 gMonShinyPalette_Slakoth[]; +extern const u8 gMonIcon_Slakoth[]; +extern const u8 gMonFootprint_Slakoth[]; +extern const u8 gMonFrontPic_Vigoroth[]; +extern const u8 gMonPalette_Vigoroth[]; +extern const u8 gMonBackPic_Vigoroth[]; +extern const u8 gMonShinyPalette_Vigoroth[]; +extern const u8 gMonIcon_Vigoroth[]; +extern const u8 gMonFootprint_Vigoroth[]; +extern const u8 gMonFrontPic_Slaking[]; +extern const u8 gMonPalette_Slaking[]; +extern const u8 gMonBackPic_Slaking[]; +extern const u8 gMonShinyPalette_Slaking[]; +extern const u8 gMonIcon_Slaking[]; +extern const u8 gMonFootprint_Slaking[]; +extern const u8 gMonFrontPic_Gulpin[]; +extern const u8 gMonPalette_Gulpin[]; +extern const u8 gMonBackPic_Gulpin[]; +extern const u8 gMonShinyPalette_Gulpin[]; +extern const u8 gMonIcon_Gulpin[]; +extern const u8 gMonFootprint_Gulpin[]; +extern const u8 gMonFrontPic_Swalot[]; +extern const u8 gMonPalette_Swalot[]; +extern const u8 gMonBackPic_Swalot[]; +extern const u8 gMonShinyPalette_Swalot[]; +extern const u8 gMonIcon_Swalot[]; +extern const u8 gMonFootprint_Swalot[]; +extern const u8 gMonFrontPic_Tropius[]; +extern const u8 gMonPalette_Tropius[]; +extern const u8 gMonBackPic_Tropius[]; +extern const u8 gMonShinyPalette_Tropius[]; +extern const u8 gMonIcon_Tropius[]; +extern const u8 gMonFootprint_Tropius[]; +extern const u8 gMonFrontPic_Whismur[]; +extern const u8 gMonPalette_Whismur[]; +extern const u8 gMonBackPic_Whismur[]; +extern const u8 gMonShinyPalette_Whismur[]; +extern const u8 gMonIcon_Whismur[]; +extern const u8 gMonFootprint_Whismur[]; +extern const u8 gMonFrontPic_Loudred[]; +extern const u8 gMonPalette_Loudred[]; +extern const u8 gMonBackPic_Loudred[]; +extern const u8 gMonShinyPalette_Loudred[]; +extern const u8 gMonIcon_Loudred[]; +extern const u8 gMonFootprint_Loudred[]; +extern const u8 gMonFrontPic_Exploud[]; +extern const u8 gMonPalette_Exploud[]; +extern const u8 gMonBackPic_Exploud[]; +extern const u8 gMonShinyPalette_Exploud[]; +extern const u8 gMonIcon_Exploud[]; +extern const u8 gMonFootprint_Exploud[]; +extern const u8 gMonFrontPic_Clamperl[]; +extern const u8 gMonPalette_Clamperl[]; +extern const u8 gMonBackPic_Clamperl[]; +extern const u8 gMonShinyPalette_Clamperl[]; +extern const u8 gMonIcon_Clamperl[]; +extern const u8 gMonFootprint_Clamperl[]; +extern const u8 gMonFrontPic_Huntail[]; +extern const u8 gMonPalette_Huntail[]; +extern const u8 gMonBackPic_Huntail[]; +extern const u8 gMonShinyPalette_Huntail[]; +extern const u8 gMonIcon_Huntail[]; +extern const u8 gMonFootprint_Huntail[]; +extern const u8 gMonFrontPic_Gorebyss[]; +extern const u8 gMonPalette_Gorebyss[]; +extern const u8 gMonBackPic_Gorebyss[]; +extern const u8 gMonShinyPalette_Gorebyss[]; +extern const u8 gMonIcon_Gorebyss[]; +extern const u8 gMonFootprint_Gorebyss[]; +extern const u8 gMonFrontPic_Absol[]; +extern const u8 gMonPalette_Absol[]; +extern const u8 gMonBackPic_Absol[]; +extern const u8 gMonShinyPalette_Absol[]; +extern const u8 gMonIcon_Absol[]; +extern const u8 gMonFootprint_Absol[]; +extern const u8 gMonFrontPic_Shuppet[]; +extern const u8 gMonPalette_Shuppet[]; +extern const u8 gMonBackPic_Shuppet[]; +extern const u8 gMonShinyPalette_Shuppet[]; +extern const u8 gMonIcon_Shuppet[]; +extern const u8 gMonFootprint_Shuppet[]; +extern const u8 gMonFrontPic_Banette[]; +extern const u8 gMonPalette_Banette[]; +extern const u8 gMonBackPic_Banette[]; +extern const u8 gMonShinyPalette_Banette[]; +extern const u8 gMonIcon_Banette[]; +extern const u8 gMonFootprint_Banette[]; +extern const u8 gMonFrontPic_Seviper[]; +extern const u8 gMonPalette_Seviper[]; +extern const u8 gMonBackPic_Seviper[]; +extern const u8 gMonShinyPalette_Seviper[]; +extern const u8 gMonIcon_Seviper[]; +extern const u8 gMonFootprint_Seviper[]; +extern const u8 gMonFrontPic_Zangoose[]; +extern const u8 gMonPalette_Zangoose[]; +extern const u8 gMonBackPic_Zangoose[]; +extern const u8 gMonShinyPalette_Zangoose[]; +extern const u8 gMonIcon_Zangoose[]; +extern const u8 gMonFootprint_Zangoose[]; +extern const u8 gMonFrontPic_Relicanth[]; +extern const u8 gMonPalette_Relicanth[]; +extern const u8 gMonBackPic_Relicanth[]; +extern const u8 gMonShinyPalette_Relicanth[]; +extern const u8 gMonIcon_Relicanth[]; +extern const u8 gMonFootprint_Relicanth[]; +extern const u8 gMonFrontPic_Aron[]; +extern const u8 gMonPalette_Aron[]; +extern const u8 gMonBackPic_Aron[]; +extern const u8 gMonShinyPalette_Aron[]; +extern const u8 gMonIcon_Aron[]; +extern const u8 gMonFootprint_Aron[]; +extern const u8 gMonFrontPic_Lairon[]; +extern const u8 gMonPalette_Lairon[]; +extern const u8 gMonBackPic_Lairon[]; +extern const u8 gMonShinyPalette_Lairon[]; +extern const u8 gMonIcon_Lairon[]; +extern const u8 gMonFootprint_Lairon[]; +extern const u8 gMonFrontPic_Aggron[]; +extern const u8 gMonPalette_Aggron[]; +extern const u8 gMonBackPic_Aggron[]; +extern const u8 gMonShinyPalette_Aggron[]; +extern const u8 gMonIcon_Aggron[]; +extern const u8 gMonFootprint_Aggron[]; +extern const u8 gMonFrontPic_Castform[]; +extern const u8 gMonPalette_Castform[]; +extern const u8 gMonBackPic_Castform[]; +extern const u8 gMonShinyPalette_Castform[]; +extern const u8 gMonIcon_Castform[]; +extern const u8 gMonFootprint_Castform[]; +extern const u8 gMonFrontPic_Volbeat[]; +extern const u8 gMonPalette_Volbeat[]; +extern const u8 gMonBackPic_Volbeat[]; +extern const u8 gMonShinyPalette_Volbeat[]; +extern const u8 gMonIcon_Volbeat[]; +extern const u8 gMonFootprint_Volbeat[]; +extern const u8 gMonFrontPic_Illumise[]; +extern const u8 gMonPalette_Illumise[]; +extern const u8 gMonBackPic_Illumise[]; +extern const u8 gMonShinyPalette_Illumise[]; +extern const u8 gMonIcon_Illumise[]; +extern const u8 gMonFootprint_Illumise[]; +extern const u8 gMonFrontPic_Lileep[]; +extern const u8 gMonPalette_Lileep[]; +extern const u8 gMonBackPic_Lileep[]; +extern const u8 gMonShinyPalette_Lileep[]; +extern const u8 gMonIcon_Lileep[]; +extern const u8 gMonFootprint_Lileep[]; +extern const u8 gMonFrontPic_Cradily[]; +extern const u8 gMonPalette_Cradily[]; +extern const u8 gMonBackPic_Cradily[]; +extern const u8 gMonShinyPalette_Cradily[]; +extern const u8 gMonIcon_Cradily[]; +extern const u8 gMonFootprint_Cradily[]; +extern const u8 gMonFrontPic_Anorith[]; +extern const u8 gMonPalette_Anorith[]; +extern const u8 gMonBackPic_Anorith[]; +extern const u8 gMonShinyPalette_Anorith[]; +extern const u8 gMonIcon_Anorith[]; +extern const u8 gMonFootprint_Anorith[]; +extern const u8 gMonFrontPic_Armaldo[]; +extern const u8 gMonPalette_Armaldo[]; +extern const u8 gMonBackPic_Armaldo[]; +extern const u8 gMonShinyPalette_Armaldo[]; +extern const u8 gMonIcon_Armaldo[]; +extern const u8 gMonFootprint_Armaldo[]; +extern const u8 gMonFrontPic_Ralts[]; +extern const u8 gMonPalette_Ralts[]; +extern const u8 gMonBackPic_Ralts[]; +extern const u8 gMonShinyPalette_Ralts[]; +extern const u8 gMonIcon_Ralts[]; +extern const u8 gMonFootprint_Ralts[]; +extern const u8 gMonFrontPic_Kirlia[]; +extern const u8 gMonPalette_Kirlia[]; +extern const u8 gMonBackPic_Kirlia[]; +extern const u8 gMonShinyPalette_Kirlia[]; +extern const u8 gMonIcon_Kirlia[]; +extern const u8 gMonFootprint_Kirlia[]; +extern const u8 gMonFrontPic_Gardevoir[]; +extern const u8 gMonPalette_Gardevoir[]; +extern const u8 gMonBackPic_Gardevoir[]; +extern const u8 gMonShinyPalette_Gardevoir[]; +extern const u8 gMonIcon_Gardevoir[]; +extern const u8 gMonFootprint_Gardevoir[]; +extern const u8 gMonFrontPic_Bagon[]; +extern const u8 gMonPalette_Bagon[]; +extern const u8 gMonBackPic_Bagon[]; +extern const u8 gMonShinyPalette_Bagon[]; +extern const u8 gMonIcon_Bagon[]; +extern const u8 gMonFootprint_Bagon[]; +extern const u8 gMonFrontPic_Shelgon[]; +extern const u8 gMonPalette_Shelgon[]; +extern const u8 gMonBackPic_Shelgon[]; +extern const u8 gMonShinyPalette_Shelgon[]; +extern const u8 gMonIcon_Shelgon[]; +extern const u8 gMonFootprint_Shelgon[]; +extern const u8 gMonFrontPic_Salamence[]; +extern const u8 gMonPalette_Salamence[]; +extern const u8 gMonBackPic_Salamence[]; +extern const u8 gMonShinyPalette_Salamence[]; +extern const u8 gMonIcon_Salamence[]; +extern const u8 gMonFootprint_Salamence[]; +extern const u8 gMonFrontPic_Beldum[]; +extern const u8 gMonPalette_Beldum[]; +extern const u8 gMonBackPic_Beldum[]; +extern const u8 gMonShinyPalette_Beldum[]; +extern const u8 gMonIcon_Beldum[]; +extern const u8 gMonFootprint_Beldum[]; +extern const u8 gMonFrontPic_Metang[]; +extern const u8 gMonPalette_Metang[]; +extern const u8 gMonBackPic_Metang[]; +extern const u8 gMonShinyPalette_Metang[]; +extern const u8 gMonIcon_Metang[]; +extern const u8 gMonFootprint_Metang[]; +extern const u8 gMonFrontPic_Metagross[]; +extern const u8 gMonPalette_Metagross[]; +extern const u8 gMonBackPic_Metagross[]; +extern const u8 gMonShinyPalette_Metagross[]; +extern const u8 gMonIcon_Metagross[]; +extern const u8 gMonFootprint_Metagross[]; +extern const u8 gMonFrontPic_Regirock[]; +extern const u8 gMonPalette_Regirock[]; +extern const u8 gMonBackPic_Regirock[]; +extern const u8 gMonShinyPalette_Regirock[]; +extern const u8 gMonIcon_Regirock[]; +extern const u8 gMonFootprint_Regirock[]; +extern const u8 gMonFrontPic_Regice[]; +extern const u8 gMonPalette_Regice[]; +extern const u8 gMonBackPic_Regice[]; +extern const u8 gMonShinyPalette_Regice[]; +extern const u8 gMonIcon_Regice[]; +extern const u8 gMonFootprint_Regice[]; +extern const u8 gMonFrontPic_Registeel[]; +extern const u8 gMonPalette_Registeel[]; +extern const u8 gMonBackPic_Registeel[]; +extern const u8 gMonShinyPalette_Registeel[]; +extern const u8 gMonIcon_Registeel[]; +extern const u8 gMonFootprint_Registeel[]; +extern const u8 gMonFrontPic_Kyogre[]; +extern const u8 gMonPalette_Kyogre[]; +extern const u8 gMonBackPic_Kyogre[]; +extern const u8 gMonShinyPalette_Kyogre[]; +extern const u8 gMonIcon_Kyogre[]; +extern const u8 gMonFootprint_Kyogre[]; +extern const u8 gMonFrontPic_Groudon[]; +extern const u8 gMonPalette_Groudon[]; +extern const u8 gMonBackPic_Groudon[]; +extern const u8 gMonShinyPalette_Groudon[]; +extern const u8 gMonIcon_Groudon[]; +extern const u8 gMonFootprint_Groudon[]; +extern const u8 gMonFrontPic_Rayquaza[]; +extern const u8 gMonPalette_Rayquaza[]; +extern const u8 gMonBackPic_Rayquaza[]; +extern const u8 gMonShinyPalette_Rayquaza[]; +extern const u8 gMonIcon_Rayquaza[]; +extern const u8 gMonFootprint_Rayquaza[]; +extern const u8 gMonFrontPic_Latias[]; +extern const u8 gMonPalette_Latias[]; +extern const u8 gMonBackPic_Latias[]; +extern const u8 gMonShinyPalette_Latias[]; +extern const u8 gMonIcon_Latias[]; +extern const u8 gMonFootprint_Latias[]; +extern const u8 gMonFrontPic_Latios[]; +extern const u8 gMonPalette_Latios[]; +extern const u8 gMonBackPic_Latios[]; +extern const u8 gMonShinyPalette_Latios[]; +extern const u8 gMonIcon_Latios[]; +extern const u8 gMonFootprint_Latios[]; +extern const u8 gMonFrontPic_Jirachi[]; +extern const u8 gMonPalette_Jirachi[]; +extern const u8 gMonBackPic_Jirachi[]; +extern const u8 gMonShinyPalette_Jirachi[]; +extern const u8 gMonIcon_Jirachi[]; +extern const u8 gMonFootprint_Jirachi[]; +extern const u8 gMonFrontPic_Deoxys[]; +extern const u8 gMonPalette_Deoxys[]; +extern const u8 gMonBackPic_Deoxys[]; +extern const u8 gMonShinyPalette_Deoxys[]; +extern const u8 gMonIcon_Deoxys[]; +extern const u8 gMonFootprint_Deoxys[]; +extern const u8 gMonFrontPic_Chimecho[]; +extern const u8 gMonPalette_Chimecho[]; +extern const u8 gMonBackPic_Chimecho[]; +extern const u8 gMonShinyPalette_Chimecho[]; +extern const u8 gMonIcon_Chimecho[]; +extern const u8 gMonFootprint_Chimecho[]; +extern const u8 gMonPic_Egg[]; +extern const u8 gMonPalette_Egg[]; +extern const u8 gMonFrontPic_UnownB[]; +extern const u8 gMonBackPic_UnownB[]; +extern const u8 gMonIcon_UnownB[]; +extern const u8 gMonFrontPic_UnownC[]; +extern const u8 gMonBackPic_UnownC[]; +extern const u8 gMonIcon_UnownC[]; +extern const u8 gMonFrontPic_UnownD[]; +extern const u8 gMonBackPic_UnownD[]; +extern const u8 gMonIcon_UnownD[]; +extern const u8 gMonFrontPic_UnownE[]; +extern const u8 gMonBackPic_UnownE[]; +extern const u8 gMonIcon_UnownE[]; +extern const u8 gMonFrontPic_UnownF[]; +extern const u8 gMonBackPic_UnownF[]; +extern const u8 gMonIcon_UnownF[]; +extern const u8 gMonFrontPic_UnownG[]; +extern const u8 gMonBackPic_UnownG[]; +extern const u8 gMonIcon_UnownG[]; +extern const u8 gMonFrontPic_UnownH[]; +extern const u8 gMonBackPic_UnownH[]; +extern const u8 gMonIcon_UnownH[]; +extern const u8 gMonFrontPic_UnownI[]; +extern const u8 gMonBackPic_UnownI[]; +extern const u8 gMonIcon_UnownI[]; +extern const u8 gMonFrontPic_UnownJ[]; +extern const u8 gMonBackPic_UnownJ[]; +extern const u8 gMonIcon_UnownJ[]; +extern const u8 gMonFrontPic_UnownK[]; +extern const u8 gMonBackPic_UnownK[]; +extern const u8 gMonIcon_UnownK[]; +extern const u8 gMonFrontPic_UnownL[]; +extern const u8 gMonBackPic_UnownL[]; +extern const u8 gMonIcon_UnownL[]; +extern const u8 gMonFrontPic_UnownM[]; +extern const u8 gMonBackPic_UnownM[]; +extern const u8 gMonIcon_UnownM[]; +extern const u8 gMonFrontPic_UnownN[]; +extern const u8 gMonBackPic_UnownN[]; +extern const u8 gMonIcon_UnownN[]; +extern const u8 gMonFrontPic_UnownO[]; +extern const u8 gMonBackPic_UnownO[]; +extern const u8 gMonIcon_UnownO[]; +extern const u8 gMonFrontPic_UnownP[]; +extern const u8 gMonBackPic_UnownP[]; +extern const u8 gMonIcon_UnownP[]; +extern const u8 gMonFrontPic_UnownQ[]; +extern const u8 gMonBackPic_UnownQ[]; +extern const u8 gMonIcon_UnownQ[]; +extern const u8 gMonFrontPic_UnownR[]; +extern const u8 gMonBackPic_UnownR[]; +extern const u8 gMonIcon_UnownR[]; +extern const u8 gMonFrontPic_UnownS[]; +extern const u8 gMonBackPic_UnownS[]; +extern const u8 gMonIcon_UnownS[]; +extern const u8 gMonFrontPic_UnownT[]; +extern const u8 gMonBackPic_UnownT[]; +extern const u8 gMonIcon_UnownT[]; +extern const u8 gMonFrontPic_UnownU[]; +extern const u8 gMonBackPic_UnownU[]; +extern const u8 gMonIcon_UnownU[]; +extern const u8 gMonFrontPic_UnownV[]; +extern const u8 gMonBackPic_UnownV[]; +extern const u8 gMonIcon_UnownV[]; +extern const u8 gMonFrontPic_UnownW[]; +extern const u8 gMonBackPic_UnownW[]; +extern const u8 gMonIcon_UnownW[]; +extern const u8 gMonFrontPic_UnownX[]; +extern const u8 gMonBackPic_UnownX[]; +extern const u8 gMonIcon_UnownX[]; +extern const u8 gMonFrontPic_UnownY[]; +extern const u8 gMonBackPic_UnownY[]; +extern const u8 gMonIcon_UnownY[]; +extern const u8 gMonFrontPic_UnownZ[]; +extern const u8 gMonBackPic_UnownZ[]; +extern const u8 gMonIcon_UnownZ[]; +extern const u8 gMonFrontPic_UnownExclamationMark[]; +extern const u8 gMonBackPic_UnownExclamationMark[]; +extern const u8 gMonIcon_UnownExclamationMark[]; +extern const u8 gMonFrontPic_UnownQuestionMark[]; +extern const u8 gMonBackPic_UnownQuestionMark[]; +extern const u8 gMonIcon_UnownQuestionMark[]; + +extern const u8 gMonIcon_QuestionMark[]; +extern const u8 gMonIcon_Egg[]; +extern const u16 gMonIconPalettes[][16]; + // pokeblock extern const u8 gMenuPokeblock_Gfx[]; extern const u8 gMenuPokeblock_Pal[]; @@ -238,4 +2647,32 @@ extern const u8 gBattleTerrainPalette_StadiumGlacia[]; extern const u8 gBattleTerrainPalette_StadiumDrake[]; extern const u8 gBattleTerrainPalette_StadiumWallace[]; +extern const u8 gUnknown_08DC234C[]; +extern const u8 gUnknown_08DC16F4[]; + +// rayquaza scene gfx +extern const u8 gUnknown_08DA1E78[]; +extern const u8 gUnknown_08DA2A5C[]; +extern const u8 gUnknown_08DA2B28[]; +extern const u8 gUnknown_08DA2D1C[]; +extern const u8 gUnknown_08DA3250[]; +extern const u8 gUnknown_08DA32A4[]; +extern const u8 gUnknown_08DA3370[]; +extern const u8 gUnknown_08DA3398[]; +extern const u8 gUnknown_08DA3BC0[]; +extern const u8 gUnknown_08DA3C7C[]; +extern const u8 gUnknown_08DA4DA8[]; +extern const u8 gUnknown_08DA6440[]; +extern const u8 gUnknown_08DA68AC[]; +extern const u8 gUnknown_08DA8ED8[]; +extern const u8 gUnknown_08DA9670[]; +extern const u8 gUnknown_08DA96B4[]; +extern const u8 gUnknown_08DA98FC[]; +extern const u8 gUnknown_08DAA5A4[]; +extern const u8 gUnknown_08DAA794[]; +extern const u8 gUnknown_08DAA82C[]; +extern const u8 gUnknown_08DAA854[]; +extern const u8 gUnknown_08DAA87C[]; +extern const u8 gUnknown_08DAA8A4[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/sprite.h b/include/sprite.h index 170d77c3f..d5c6bc402 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -120,10 +120,6 @@ union AffineAnimCmd {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} #define AFFINEANIMCMD_END \ {.type = AFFINEANIMCMDTYPE_END} -#define AFFINEANIMCMD_LOOP(_count) \ - {.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}} -#define AFFINEANIMCMD_JUMP(_target) \ - {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} struct AffineAnimState { diff --git a/include/strings.h b/include/strings.h index 5521d828b..a382191a0 100644 --- a/include/strings.h +++ b/include/strings.h @@ -137,4 +137,37 @@ extern const u8 gMenuText_Give2[]; extern const u8 gText_Cancel2[]; +extern const u8 gText_WithdrawPokemon[]; +extern const u8 gText_WithdrawMonDescription[]; +extern const u8 gText_DepositPokemon[]; +extern const u8 gText_DepositMonDescription[]; +extern const u8 gText_MovePokemon[]; +extern const u8 gText_MoveMonDescription[]; +extern const u8 gText_MoveItems[]; +extern const u8 gText_MoveItemsDescription[]; +extern const u8 gText_SeeYa[]; +extern const u8 gText_SeeYaDescription[]; + +// menu texts +extern const u8 gText_MenuPokedex[]; +extern const u8 gText_MenuPokemon[]; +extern const u8 gText_MenuBag[]; +extern const u8 gText_MenuPokenav[]; +extern const u8 gText_MenuPlayer[]; +extern const u8 gText_MenuSave[]; +extern const u8 gText_MenuOption[]; +extern const u8 gText_MenuExit[]; +extern const u8 gText_MenuRetire[]; +extern const u8 gText_MenuRest[]; +extern const u8 gText_Floor1[]; +extern const u8 gText_Floor2[]; +extern const u8 gText_Floor3[]; +extern const u8 gText_Floor4[]; +extern const u8 gText_Floor5[]; +extern const u8 gText_Floor6[]; +extern const u8 gText_Floor7[]; +extern const u8 gText_Peak[]; +extern const u8 gText_SafariBallStock[]; +extern const u8 gText_BattlePyramidFloor[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index abb7f64da..af40a1de4 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -127,10 +127,12 @@ SECTIONS { asm/field_effect.o(.text); asm/unknown_task.o(.text); asm/option_menu.o(.text); + src/pokedex.o(.text); asm/pokedex.o(.text); asm/trainer_card.o(.text); src/pokemon_storage_system.o(.text); asm/pokemon_storage_system.o(.text); + src/pokemon_icon.o(.text); asm/pokemon_icon.o(.text); asm/script_movement.o(.text); asm/fldeff_cut.o(.text); @@ -161,7 +163,7 @@ SECTIONS { asm/contest_link_80FC4F4.o(.text); asm/item_use.o(.text); asm/battle_anim_80FE840.o(.text); - asm/bike.o(.text); + src/bike.o(.text); asm/easy_chat.o(.text); asm/mon_markings.o(.text); asm/mauville_old_man.o(.text); @@ -265,6 +267,7 @@ SECTIONS { src/pokemon_summary_screen.o(.text); asm/pokemon_summary_screen.o(.text); asm/pokenav.o(.text); + src/rayquaza_scene.o(.text); asm/rayquaza_scene.o(.text); src/walda_phrase.o(.text); asm/contest_link_81D9DE4.o(.text); @@ -374,7 +377,7 @@ SECTIONS { data/coord_event_weather.o(.rodata); data/field_tasks.o(.rodata); data/reset_rtc_screen.o(.rodata); - data/start_menu.o(.rodata); + src/start_menu.o(.rodata); src/tileset_anims.o(.rodata); src/palette.o(.rodata); data/fanfares.o(.rodata); @@ -391,10 +394,12 @@ SECTIONS { data/wild_encounter.o(.rodata); data/field_effect.o(.rodata); data/option_menu.o(.rodata); + src/pokedex.o(.rodata); data/pokedex.o(.rodata); data/trainer_card.o(.rodata); + src/pokemon_storage_system.o(.rodata); data/pokemon_storage_system.o(.rodata); - data/pokemon_icon.o(.rodata); + src/pokemon_icon.o(.rodata); data/fldeff_cut.o(.rodata); data/map_name_popup.o(.rodata); data/item_menu_icons.o(.rodata); @@ -416,7 +421,7 @@ SECTIONS { data/rotating_gate.o(.rodata); data/item_use.o(.rodata); data/battle_anim_80FE840.o(.rodata); - data/bike.o(.rodata); + src/bike.o(.rodata); data/easy_chat.o(.rodata); data/mon_markings.o(.rodata); data/mauville_old_man.o(.rodata); @@ -496,7 +501,7 @@ SECTIONS { src/berry_fix_program.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/pokenav.o(.rodata); - data/rayquaza_scene.o(.rodata); + src/rayquaza_scene.o(.rodata); src/walda_phrase.o(.rodata); data/trainer_rematch.o(.rodata); data/unk_sprite_file.o(.rodata); diff --git a/src/bike.c b/src/bike.c new file mode 100644 index 000000000..64af7c711 --- /dev/null +++ b/src/bike.c @@ -0,0 +1,1078 @@ +#include "global.h" +#include "bike.h" +#include "field_map_obj.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "constants/flags.h" +#include "global.fieldmap.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "constants/songs.h" +#include "sound.h" + +extern bool8 gBikeCyclingChallenge; +extern u8 gBikeCollisions; +extern bool8 gUnknown_02037348; + +extern u8 sub_8093514(u8 direction); +extern u8 sub_808B980(u8 direction); +extern u8 sub_808B9BC(u8 direction); +extern u8 sub_808B9A4(u8 direction); +extern u8 sub_808C1B4(u8 direction); +extern u8 npc_use_some_d2s(u8 direction); +extern void Overworld_ClearSavedMusic(void); +extern void Overworld_PlaySpecialMapMusic(void); + +// this file's functions +static void MovePlayerOnMachBike(u8, u16, u16); +static u8 GetMachBikeTransition(u8 *); +static void MachBikeTransition_FaceDirection(u8); +static void MachBikeTransition_TurnDirection(u8); +static void MachBikeTransition_TrySpeedUp(u8); +static void MachBikeTransition_TrySlowDown(u8); +static void MovePlayerOnAcroBike(u8, u16, u16); +static u8 CheckMovementInputAcroBike(u8 *, u16, u16); +static u8 AcroBikeHandleInputNormal(u8 *, u16, u16); +static u8 AcroBikeHandleInputTurning(u8 *, u16, u16); +static u8 AcroBikeHandleInputWheelieStanding(u8 *, u16, u16); +static u8 AcroBikeHandleInputBunnyHop(u8 *, u16, u16); +static u8 AcroBikeHandleInputWheelieMoving(u8 *, u16, u16); +static u8 AcroBikeHandleInputSidewaysJump(u8 *, u16, u16); +static u8 AcroBikeHandleInputTurnJump(u8 *, u16, u16); +static void AcroBikeTransition_FaceDirection(u8); +static void AcroBikeTransition_TurnDirection(u8); +static void AcroBikeTransition_Moving(u8); +static void AcroBikeTransition_NormalToWheelie(u8); +static void AcroBikeTransition_WheelieToNormal(u8); +static void AcroBikeTransition_WheelieIdle(u8); +static void AcroBikeTransition_WheelieHoppingStanding(u8); +static void AcroBikeTransition_WheelieHoppingMoving(u8); +static void AcroBikeTransition_SideJump(u8); +static void AcroBikeTransition_TurnJump(u8); +static void AcroBikeTransition_WheelieMoving(u8); +static void AcroBikeTransition_WheelieRisingMoving(u8); +static void AcroBikeTransition_WheelieLoweringMoving(u8); +static void AcroBike_TryHistoryUpdate(u16, u16); +static u8 AcroBike_GetJumpDirection(void); +static void Bike_UpdateDirTimerHistory(u8); +static void Bike_UpdateABStartSelectHistory(u8); +static u8 Bike_DPadToDirection(u16); +static u8 get_some_collision(u8); +static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *, s16, s16, u8, u8); +static bool8 IsRunningDisallowedByMetatile(u8); +static void Bike_TryAdvanceCyclingRoadCollisions(); +static u8 CanBikeFaceDirOnMetatile(u8, u8); +static bool8 WillPlayerCollideWithCollision(u8, u8); +static void Bike_SetBikeStill(void); + +// const rom data + +/* + A bike transition is a type of callback for the bike that actually + modifies the bicycle's direction or momentum or otherwise movement. + Alternatively, a bike may also have input handlers which process the + bike transition to call: the acro bike has input handlers while the mach + bike does not. This is because the Acro needs to know the button inputs + for its complex tricks and actions. +*/ + +static void (*const sMachBikeTransitions[])(u8) = +{ + MachBikeTransition_FaceDirection, // Face vs Turn: Face has no anim while Turn does. Turn checks for collision because if you turn right as opposed to face right, if there is a wall there, turn will make a bonk sound effect while face will not. + MachBikeTransition_TurnDirection, + MachBikeTransition_TrySpeedUp, + MachBikeTransition_TrySlowDown, +}; + +// bikeFrameCounter is input which is represented by sMachBikeSpeeds in order: 0 is normal speed (1 speed), 1 is fast speed (2 speed), 2 is fastest speed (4 speed) +static void (*const sMachBikeSpeedCallbacks[])(u8) = +{ + PlayerGoSpeed1, // normal speed (1 speed) + PlayerGoSpeed2, // fast speed (2 speed) + PlayerGoSpeed4, // fastest speed (4 speed) +}; + +static void (*const sAcroBikeTransitions[])(u8) = +{ + AcroBikeTransition_FaceDirection, + AcroBikeTransition_TurnDirection, + AcroBikeTransition_Moving, + AcroBikeTransition_NormalToWheelie, + AcroBikeTransition_WheelieToNormal, + AcroBikeTransition_WheelieIdle, + AcroBikeTransition_WheelieHoppingStanding, + AcroBikeTransition_WheelieHoppingMoving, + AcroBikeTransition_SideJump, + AcroBikeTransition_TurnJump, + AcroBikeTransition_WheelieMoving, + AcroBikeTransition_WheelieRisingMoving, + AcroBikeTransition_WheelieLoweringMoving, +}; + +static u8 (*const sAcroBikeInputHandlers[])(u8 *, u16, u16) = +{ + AcroBikeHandleInputNormal, + AcroBikeHandleInputTurning, + AcroBikeHandleInputWheelieStanding, + AcroBikeHandleInputBunnyHop, + AcroBikeHandleInputWheelieMoving, + AcroBikeHandleInputSidewaysJump, + AcroBikeHandleInputTurnJump, +}; + +// used with bikeFrameCounter from mach bike +static const u16 sMachBikeSpeeds[] = {SPEED_NORMAL, SPEED_FAST, SPEED_FASTEST}; + +// this is a list of timers to compare against later, terminated with 0. the only timer being compared against is 4 frames in this list. +static const u8 sAcroBikeJumpTimerList[] = {4, 0}; + +// this is a list of history inputs to do in order to do the check to retrieve a jump direction for acro bike. it seems to be an extensible list, so its possible that Game Freak may have intended for the Acro Bike to have more complex tricks at some point. The final list only has the acro jump. +static const struct BikeHistoryInputInfo sAcroBikeTricksList[] = +{ + // the 0xF is a mask performed with each byte of the array in order to perform the check on only the last entry of the history list, otherwise the check wouldn't work as there can be 0xF0 as opposed to 0x0F. + {DIR_SOUTH, B_BUTTON, 0xF, 0xF, sAcroBikeJumpTimerList, sAcroBikeJumpTimerList, DIR_SOUTH}, + {DIR_NORTH, B_BUTTON, 0xF, 0xF, sAcroBikeJumpTimerList, sAcroBikeJumpTimerList, DIR_NORTH}, + {DIR_WEST, B_BUTTON, 0xF, 0xF, sAcroBikeJumpTimerList, sAcroBikeJumpTimerList, DIR_WEST}, + {DIR_EAST, B_BUTTON, 0xF, 0xF, sAcroBikeJumpTimerList, sAcroBikeJumpTimerList, DIR_EAST}, +}; + +// code +void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys) +{ + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) + MovePlayerOnMachBike(direction, newKeys, heldKeys); + else + MovePlayerOnAcroBike(direction, newKeys, heldKeys); +} + +static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys) +{ + sMachBikeTransitions[GetMachBikeTransition(&direction)](direction); +} + +// dirTraveling is a variable that is 0 when the player is standing still. +static u8 GetMachBikeTransition(u8 *dirTraveling) +{ + // if the dir updated before this function, get the relevent new direction to check later. + u8 direction = player_get_direction_upper_nybble(); + + // is the player standing still? + if (*dirTraveling == 0) + { + *dirTraveling = direction; // update the direction, since below we either faced a direction or we started moving. + if (gPlayerAvatar.bikeSpeed == SPEED_STANDING) + { + gPlayerAvatar.runningState = NOT_MOVING; + return MACH_TRANS_FACE_DIRECTION; + } + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_START_MOVING; + } + + // we need to check if the last traveled direction changed from the new direction as well as ensuring that we dont update the state while the player is moving: see the else check. + if (*dirTraveling != direction && gPlayerAvatar.runningState != MOVING) + { + if (gPlayerAvatar.bikeSpeed != SPEED_STANDING) + { + *dirTraveling = direction; // implement the new direction + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_START_MOVING; + } + // if you didnt start moving but your dir was different, do a turn direction instead. + gPlayerAvatar.runningState = TURN_DIRECTION; + return MACH_TRANS_TURN_DIRECTION; + } + else // the player is either going in the current direction and hasnt changed or their state is currently moving. + { + gPlayerAvatar.runningState = MOVING; + return MACH_TRANS_KEEP_MOVING; + } +} + +// the difference between face direction and turn direction is that one changes direction while the other does the animation of turning as well as changing direction. +static void MachBikeTransition_FaceDirection(u8 direction) +{ + PlayerFaceDirection(direction); + Bike_SetBikeStill(); +} + +static void MachBikeTransition_TurnDirection(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E)) + { + PlayerTurnInPlace(direction); + Bike_SetBikeStill(); + } + else + { + MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18); + } +} + +static void MachBikeTransition_TrySpeedUp(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + u8 collision; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == FALSE) + { + // we cannot go forward, so either slow down or, if we are stopped, idle face direction. + if (gPlayerAvatar.bikeSpeed) + MachBikeTransition_TrySlowDown(playerMapObj->placeholder18); + else + MachBikeTransition_FaceDirection(playerMapObj->placeholder18); + } + else + { + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + // we hit a solid object, but check to see if its a ledge and then jump. + if (collision == COLLISION_LEDGE_JUMP) + { + PlayerJumpLedge(direction); + } + else + { + // we hit a solid object that is not a ledge, so perform the collision. + Bike_SetBikeStill(); + if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + PlayerOnBikeCollideWithFarawayIslandMew(direction); + else if (collision < 5 || collision > 8) + PlayerOnBikeCollide(direction); + } + } + else + { + // we did not hit anything that can slow us down, so perform the advancement callback depending on the bikeFrameCounter and try to increase the mach bike's speed. + sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction); + gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // same as dividing by 2, but compiler is insistent on >> 1 + if (gPlayerAvatar.bikeFrameCounter < 2) // do not go faster than the last element in the mach bike array + gPlayerAvatar.bikeFrameCounter++; + } + } +} + +static void MachBikeTransition_TrySlowDown(u8 direction) +{ + u8 collision; + + if (gPlayerAvatar.bikeSpeed != SPEED_STANDING) + gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.bikeSpeed; + + collision = get_some_collision(direction); + + if (collision > 0 && collision < 12) + { + if (collision == COLLISION_LEDGE_JUMP) + { + PlayerJumpLedge(direction); + } + else + { + Bike_SetBikeStill(); + if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + PlayerOnBikeCollideWithFarawayIslandMew(direction); + else if (collision < 5 || collision > 8) + PlayerOnBikeCollide(direction); + } + } + else + { + sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction); + } +} + +// the acro bike requires the input handler to be executed before the transition can. +static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys) +{ + sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection); +} + +static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + return sAcroBikeInputHandlers[gPlayerAvatar.acroBikeState](newDirection, newKeys, heldKeys); +} + +static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction = player_get_direction_upper_nybble(); + + gPlayerAvatar.bikeFrameCounter = 0; + if (*newDirection == DIR_NONE) + { + if (newKeys & B_BUTTON) + { + //We're standing still with the B button held. + //Do a wheelie. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return ACRO_TRANS_NORMAL_TO_WHEELIE; + } + else + { + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_FACE_DIRECTION; + } + } + if (*newDirection == direction && (heldKeys & B_BUTTON) && gPlayerAvatar.bikeSpeed == SPEED_STANDING) + { + gPlayerAvatar.bikeSpeed++; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING; + return ACRO_TRANS_WHEELIE_RISING_MOVING; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + gPlayerAvatar.acroBikeState = ACRO_STATE_TURNING; + gPlayerAvatar.newDirBackup = *newDirection; + gPlayerAvatar.runningState = NOT_MOVING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_MOVING; +} + +static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + + *newDirection = gPlayerAvatar.newDirBackup; + gPlayerAvatar.bikeFrameCounter++; + + // Wait 6 frames before actually changing direction + if (gPlayerAvatar.bikeFrameCounter > 6) // ... because it takes 6 frames to advance 1 tile. + { + gPlayerAvatar.runningState = TURN_DIRECTION; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + Bike_SetBikeStill(); + return ACRO_TRANS_TURN_DIRECTION; + } + direction = player_get_direction_upper_nybble(); + if (*newDirection == AcroBike_GetJumpDirection()) + { + Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump. + gPlayerAvatar.bikeSpeed = SPEED_NORMAL; + if (*newDirection == GetOppositeDirection(direction)) + { + // do a turn jump. + // no need to update runningState, didnt move. + gPlayerAvatar.acroBikeState = ACRO_STATE_TURN_JUMP; + return ACRO_TRANS_TURN_JUMP; + } + else + { + // do a sideways jump. + gPlayerAvatar.runningState = MOVING; // we need to move, set state to moving. + gPlayerAvatar.acroBikeState = ACRO_STATE_SIDE_JUMP; + return ACRO_TRANS_SIDE_JUMP; + } + } + *newDirection = direction; + return ACRO_TRANS_FACE_DIRECTION; +} + +static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_upper_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + gPlayerAvatar.runningState = NOT_MOVING; + + if (heldKeys & B_BUTTON) + gPlayerAvatar.bikeFrameCounter++; + else + { + // B button was released. + gPlayerAvatar.bikeFrameCounter = 0; + if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // Go back to normal on flat ground + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + } + if (gPlayerAvatar.bikeFrameCounter >= 40) + { + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_BUNNY_HOP; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + if (*newDirection == direction) + { + gPlayerAvatar.runningState = MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_MOVING; + } + if (*newDirection == 0) + { + *newDirection = direction; + return ACRO_TRANS_WHEELIE_IDLE; + } + gPlayerAvatar.runningState = TURN_DIRECTION; + return ACRO_TRANS_WHEELIE_IDLE; +} + +static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_upper_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!(heldKeys & B_BUTTON)) + { + // B button was released + Bike_SetBikeStill(); + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // even though B was released, dont undo the wheelie on the bumpy slope. + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + else + { + // .. otherwise, go back to normal on flat ground + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + } + + // B Button is still held + + if (*newDirection == DIR_NONE) + { + // we did not move, so keep hopping in place without moving. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + // we changed direction, so turn but do not move hop. + gPlayerAvatar.runningState = TURN_DIRECTION; + return ACRO_TRANS_WHEELIE_HOPPING_STANDING; + } + // otherwise, we started moving while hopping + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_HOPPING_MOVING; +} + +static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 heldKeys) +{ + u8 direction; + struct MapObject *playerMapObj; + + direction = player_get_direction_lower_nybble(); + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!(heldKeys & B_BUTTON)) + { + // we were moving on a wheelie, but we let go while moving. reset bike still status + Bike_SetBikeStill(); + if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + { + // we let go of B and arent on a bumpy slope, set state to normal because now we need to handle this + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + if (*newDirection == DIR_NONE) + { + // we stopped moving but are turning, still try to lower the wheelie in place. + *newDirection = direction; + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + if (*newDirection != direction && gPlayerAvatar.runningState != MOVING) + { + // we did not turn while lowering wheelie, so do so without turning. + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_TO_NORMAL; + } + // if we are moving while lowering wheelie, put the acro into a lowering state while moving. + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_LOWERING_MOVING; + } + // please do not undo the wheelie on a bumpy slope + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + return CheckMovementInputAcroBike(newDirection, newKeys, heldKeys); + } + // we are still holding B. + if (*newDirection == DIR_NONE) + { + // idle the wheelie in place because we're holding B without moving. + *newDirection = direction; + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + gPlayerAvatar.runningState = NOT_MOVING; + Bike_SetBikeStill(); + return ACRO_TRANS_WHEELIE_IDLE; + } + if (direction != *newDirection && gPlayerAvatar.runningState != MOVING) + { + gPlayerAvatar.runningState = NOT_MOVING; + return ACRO_TRANS_WHEELIE_IDLE; + } + gPlayerAvatar.runningState = MOVING; + return ACRO_TRANS_WHEELIE_MOVING; +} + +static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + playerMapObj->mapobj_bit_9 = 0; + FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); +} + +static u8 AcroBikeHandleInputTurnJump(u8 *ptr, u16 newKeys, u16 heldKeys) +{ + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); +} + +static void AcroBikeTransition_FaceDirection(u8 direction) +{ + PlayerFaceDirection(direction); +} + +static void AcroBikeTransition_TurnDirection(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerFaceDirection(direction); +} + +static void AcroBikeTransition_Moving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + AcroBikeTransition_FaceDirection(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == COLLISION_LEDGE_JUMP) + PlayerJumpLedge(direction); + else if (collision == 4 && IsPlayerCollidingWithFarawayIslandMew(direction)) + PlayerOnBikeCollideWithFarawayIslandMew(direction); + else if (collision < 5 || collision > 8) + PlayerOnBikeCollide(direction); + } + else + { + PlayerGoSpeed3(direction); + } +} + +static void AcroBikeTransition_NormalToWheelie(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerStartWheelie(direction); +} + +static void AcroBikeTransition_WheelieToNormal(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerEndWheelie(direction); +} + +static void AcroBikeTransition_WheelieIdle(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerIdleWheelie(direction); +} + +static void AcroBikeTransition_WheelieHoppingStanding(u8 direction) +{ + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + direction = playerMapObj->placeholder18; + PlayerStandingHoppingWheelie(direction); +} + +static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + AcroBikeTransition_WheelieHoppingStanding(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + // TODO: Try to get rid of this goto + if (collision == 0 || collision == 9) + { + goto derp; + } + else if (collision == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (collision < 5 || collision > 8) + { + if (collision <= 11) + { + AcroBikeTransition_WheelieHoppingStanding(direction); + } + else + { + derp: + PlayerMovingHoppingWheelie(direction); + } + } +} + +static void AcroBikeTransition_SideJump(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj; + + collision = get_some_collision(direction); + if (collision != 0) + { + if (collision == 7) + return; + if (collision < 10) + { + AcroBikeTransition_TurnDirection(direction); + return; + } + if (WillPlayerCollideWithCollision(collision, direction) == FALSE) + { + AcroBikeTransition_TurnDirection(direction); + return; + } + } + playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + PlaySE(SE_JITE_PYOKO); + playerMapObj->mapobj_bit_9 = 1; + PlayerSetAnimId(sub_8093514(direction), 2); +} + +static void AcroBikeTransition_TurnJump(u8 direction) +{ + PlayerAcroTurnJump(direction); +} + +static void AcroBikeTransition_WheelieMoving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerIdleWheelie(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (collision == 9) + { + PlayerIdleWheelie(direction); + } + else if (collision <= 4) + { + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + PlayerIdleWheelie(direction); + else + sub_808B980(direction); //hit wall? + } + return; + } + sub_808B9BC(direction); + gPlayerAvatar.runningState = MOVING; +} + +static void AcroBikeTransition_WheelieRisingMoving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerStartWheelie(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == 6) + { + PlayerLedgeHoppingWheelie(direction); + } + else if (collision == 9) + { + PlayerIdleWheelie(direction); + } + else if (collision <= 4) + { + if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + PlayerIdleWheelie(direction); + else + sub_808B980(direction); //hit wall? + } + return; + } + sub_808B9A4(direction); + gPlayerAvatar.runningState = MOVING; +} + +static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) +{ + u8 collision; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + { + PlayerEndWheelie(playerMapObj->placeholder18); + return; + } + collision = get_some_collision(direction); + if (collision > 0 && collision < 12) + { + if (collision == 6) + PlayerJumpLedge(direction); + else if (collision < 5 || collision > 8) + PlayerEndWheelie(direction); + return; + } + npc_use_some_d2s(direction); +} + +void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys) +{ + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + AcroBike_TryHistoryUpdate(newKeys, heldKeys); +} + +static void AcroBike_TryHistoryUpdate(u16 newKeys, u16 heldKeys) // newKeys is unused +{ + u8 direction = Bike_DPadToDirection(heldKeys); + + if (direction == (gPlayerAvatar.directionHistory & 0xF)) + { + // increment the timer for direction history since last input. + if (gPlayerAvatar.dirTimerHistory[0] < 0xFF) + gPlayerAvatar.dirTimerHistory[0]++; + } + else + { + Bike_UpdateDirTimerHistory(direction); + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + } + + direction = heldKeys & (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON); // directions is reused for some reason. + if (direction == (gPlayerAvatar.abStartSelectHistory & 0xF)) + { + if (gPlayerAvatar.abStartSelectTimerHistory[0] < 0xFF) + gPlayerAvatar.abStartSelectTimerHistory[0]++; + } + else + { + Bike_UpdateABStartSelectHistory(direction); + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + } +} + +static bool8 HasPlayerInputTakenLongerThanList(const u8 *dirTimerList, const u8 *abStartSelectTimerList) +{ + u8 i; + + for (i = 0; dirTimerList[i] != 0; i++) + { + if (gPlayerAvatar.dirTimerHistory[i] > dirTimerList[i]) + return FALSE; + } + for (i = 0; abStartSelectTimerList[i] != 0; i++) + { + if (gPlayerAvatar.abStartSelectTimerHistory[i] > abStartSelectTimerList[i]) + return FALSE; + } + return TRUE; +} + +static u8 AcroBike_GetJumpDirection(void) +{ + u32 i; + + for (i = 0; i < ARRAY_COUNT(sAcroBikeTricksList); i++) + { + const struct BikeHistoryInputInfo *historyInputInfo = &sAcroBikeTricksList[i]; + u32 dirHistory = gPlayerAvatar.directionHistory; + u32 abStartSelectHistory = gPlayerAvatar.abStartSelectHistory; + + dirHistory &= historyInputInfo->dirHistoryMask; + abStartSelectHistory &= historyInputInfo->abStartSelectHistoryMask; + if (dirHistory == historyInputInfo->dirHistoryMatch && abStartSelectHistory == historyInputInfo->abStartSelectHistoryMatch && HasPlayerInputTakenLongerThanList(historyInputInfo->dirTimerHistoryList, historyInputInfo->abStartSelectHistoryList)) + return historyInputInfo->direction; + } + return 0; +} + +static void Bike_UpdateDirTimerHistory(u8 dir) +{ + u8 i; + + gPlayerAvatar.directionHistory = (gPlayerAvatar.directionHistory << 4) | (dir & 0xF); + + for (i = 7; i != 0; i--) + gPlayerAvatar.dirTimerHistory[i] = gPlayerAvatar.dirTimerHistory[i - 1]; + gPlayerAvatar.dirTimerHistory[0] = 1; +} + +static void Bike_UpdateABStartSelectHistory(u8 input) +{ + u8 i; + + gPlayerAvatar.abStartSelectHistory = (gPlayerAvatar.abStartSelectHistory << 4) | (input & 0xF); + + for (i = 7; i != 0; i--) + gPlayerAvatar.abStartSelectTimerHistory[i] = gPlayerAvatar.abStartSelectTimerHistory[i - 1]; + gPlayerAvatar.abStartSelectTimerHistory[0] = 1; +} + +static u8 Bike_DPadToDirection(u16 heldKeys) +{ + if (heldKeys & DPAD_UP) + return DIR_NORTH; + if (heldKeys & DPAD_DOWN) + return DIR_SOUTH; + if (heldKeys & DPAD_LEFT) + return DIR_WEST; + if (heldKeys & DPAD_RIGHT) + return DIR_EAST; + return DIR_NONE; +} + +static u8 get_some_collision(u8 direction) +{ + s16 x; + s16 y; + u8 metatitleBehavior; + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + + x = playerMapObj->coords2.x; + y = playerMapObj->coords2.y; + MoveCoords(direction, &x, &y); + metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); + return Bike_CheckCollisionTryAdvanceCollisionCount(playerMapObj, x, y, direction, metatitleBehavior); +} + +static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *mapObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) +{ + u8 collision = CheckForFieldObjectCollision(mapObject, x, y, direction, metatitleBehavior); + + if (collision > 4) + return collision; + + if (collision == 0 && IsRunningDisallowedByMetatile(metatitleBehavior)) + collision = 2; + + if (collision) + Bike_TryAdvanceCyclingRoadCollisions(); + + return collision; +} + +bool8 RS_IsRunningDisallowed(u8 tile) +{ + if (IsRunningDisallowedByMetatile(tile) != FALSE || gMapHeader.mapType == MAP_TYPE_INDOOR) + return TRUE; + else + return FALSE; +} + +static bool8 IsRunningDisallowedByMetatile(u8 tile) +{ + if (MetatileBehavior_IsRunningDisallowed(tile)) + return TRUE; + if (MetatileBehavior_IsFortreeBridge(tile) && (PlayerGetZCoord() & 1) == 0) + return TRUE; + return FALSE; +} + +static void Bike_TryAdvanceCyclingRoadCollisions(void) +{ + if (gBikeCyclingChallenge != FALSE && gBikeCollisions < 100) + gBikeCollisions++; +} + +static bool8 CanBikeFaceDirOnMetatile(u8 direction, u8 tile) +{ + if (direction == DIR_EAST || direction == DIR_WEST) + { + // Bike cannot face east or west on a vertical rail + if (MetatileBehavior_IsIsolatedVerticalRail(tile) + || MetatileBehavior_IsVerticalRail(tile)) + return FALSE; + } + else + { + // Bike cannot face north or south on a horizontal rail + if (MetatileBehavior_IsIsolatedHorizontalRail(tile) + || MetatileBehavior_IsHorizontalRail(tile)) + return FALSE; + } + return TRUE; +} + +static bool8 WillPlayerCollideWithCollision(u8 newTileCollision, u8 direction) +{ + if (direction == DIR_NORTH || direction == DIR_SOUTH) + { + if (newTileCollision == 10 || newTileCollision == 12) + return FALSE; + } + else if (newTileCollision == 11 || newTileCollision == 13) + { + return FALSE; + } + + return TRUE; +} + +bool8 IsBikingDisallowedByPlayer(void) +{ + s16 x, y; + u8 tileBehavior; + + if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4))) + { + PlayerGetDestCoords(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (!IsRunningDisallowedByMetatile(tileBehavior)) + return FALSE; + } + return TRUE; +} + +bool8 player_should_look_direction_be_enforced_upon_movement(void) +{ + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) != FALSE) + return FALSE; + else + return TRUE; +} + +void GetOnOffBike(u8 transitionFlags) +{ + gUnknown_02037348 = FALSE; + + if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) + { + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); + Overworld_ClearSavedMusic(); + Overworld_PlaySpecialMapMusic(); + } + else + { + SetPlayerAvatarTransitionFlags(transitionFlags); + Overworld_SetSavedMusic(MUS_CYCLING); + Overworld_ChangeMusicTo(MUS_CYCLING); + } +} + +void BikeClearState(int newDirHistory, int newAbStartHistory) +{ + u8 i; + + gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; + gPlayerAvatar.newDirBackup = DIR_NONE; + gPlayerAvatar.bikeFrameCounter = 0; + gPlayerAvatar.bikeSpeed = SPEED_STANDING; + gPlayerAvatar.directionHistory = newDirHistory; + gPlayerAvatar.abStartSelectHistory = newAbStartHistory; + + for (i = 0; i < 8; i++) + gPlayerAvatar.dirTimerHistory[i] = 0; + + for (i = 0; i < 8; i++) + gPlayerAvatar.abStartSelectTimerHistory[i] = 0; +} + +void Bike_UpdateBikeCounterSpeed(u8 counter) +{ + gPlayerAvatar.bikeFrameCounter = counter; + gPlayerAvatar.bikeSpeed = gPlayerAvatar.bikeFrameCounter + (gPlayerAvatar.bikeFrameCounter >> 1); // lazy way of multiplying by 1.5. +} + +static void Bike_SetBikeStill(void) +{ + gPlayerAvatar.bikeFrameCounter = 0; + gPlayerAvatar.bikeSpeed = SPEED_STANDING; +} + +s16 GetPlayerSpeed(void) +{ + // because the player pressed a direction, it won't ever return a speed of 0 since this function returns the player's current speed. + s16 machSpeeds[3]; + + memcpy(machSpeeds, sMachBikeSpeeds, sizeof(machSpeeds)); + + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE) + return machSpeeds[gPlayerAvatar.bikeFrameCounter]; + else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + return SPEED_FASTER; + else if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_DASH)) + return SPEED_FAST; + else + return SPEED_NORMAL; +} + +void Bike_HandleBumpySlopeJump(void) +{ + s16 x, y; + u8 tileBehavior; + + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE) + { + PlayerGetDestCoords(&x, &y); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsBumpySlope(tileBehavior)) + { + gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; + sub_808C1B4(player_get_direction_upper_nybble()); + } + } +} + +bool32 IsRunningDisallowed(u8 metatile) +{ + if (!(gMapHeader.flags & 4) || IsRunningDisallowedByMetatile(metatile) == TRUE) + return TRUE; + else + return FALSE; +} diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 580e88ad7..4b59147ff 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -78,7 +78,7 @@ extern void sub_806A068(u16, u8); extern void sub_807F19C(void); extern void sub_807B140(void); extern void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); -extern void sub_8085784(void); +extern void Overworld_PlaySpecialMapMusic(void); extern void sub_81BFA38(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move); extern u8 sub_81C1B94(void); extern void sub_807F1A8(u8 arg0, const u8 *arg1, u8 arg2); @@ -764,7 +764,7 @@ static void Task_EvolutionScene(u8 taskID) if (!(gTasks[taskID].tBits & TASK_BIT_LEARN_MOVE)) { StopMapMusic(); - sub_8085784(); + Overworld_PlaySpecialMapMusic(); } gTasks[taskID].tBits |= TASK_BIT_LEARN_MOVE; @@ -793,7 +793,7 @@ static void Task_EvolutionScene(u8 taskID) if (!(gTasks[taskID].tBits & TASK_BIT_LEARN_MOVE)) { StopMapMusic(); - sub_8085784(); + Overworld_PlaySpecialMapMusic(); } if (!gTasks[taskID].tEvoWasStopped) CreateShedinja(gTasks[taskID].tPreEvoSpecies, mon); diff --git a/src/field_map_obj.c b/src/field_map_obj.c index fc23a6e37..df80494b3 100755 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -3231,7 +3231,7 @@ bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Spr bool8 sub_8091EC0(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2) + if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) { return FALSE; } @@ -3410,7 +3410,7 @@ field_object_step(CopyPlayer2, gUnknown_0850DA90) bool8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.running1 == 2) + if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) { return FALSE; } diff --git a/src/pokedex.c b/src/pokedex.c new file mode 100644 index 000000000..964f41716 --- /dev/null +++ b/src/pokedex.c @@ -0,0 +1,542 @@ +#include "global.h" +#include "gba/m4a_internal.h" +#include "pokedex.h" +#include "sprite.h" +#include "graphics.h" +#include "decompress.h" +#include "bg.h" +#include "window.h" + +// this file's functions +void sub_80BE604(struct Sprite *sprite); +void sub_80BE658(struct Sprite *sprite); +void sub_80BE758(struct Sprite *sprite); +void sub_80BE780(struct Sprite *sprite); +void sub_80BE44C(struct Sprite *sprite); +void sub_80BE834(struct Sprite *sprite); + +// const rom data +#include "data/pokedex_orders.h" + +static const struct OamData sOamData_855CFE4 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855CFEC = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855CFF4 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855CFFC = +{ + .y = 160, + .affineMode = 0, + .objMode = 2, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855D004 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_855D00C = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 2, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_855D014[] = +{ + ANIMCMD_FRAME(3, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D01C[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D024[] = +{ + ANIMCMD_FRAME(16, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D02C[] = +{ + ANIMCMD_FRAME(48, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D034[] = +{ + ANIMCMD_FRAME(40, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D03C[] = +{ + ANIMCMD_FRAME(32, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D044[] = +{ + ANIMCMD_FRAME(56, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D04C[] = +{ + ANIMCMD_FRAME(64, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D054[] = +{ + ANIMCMD_FRAME(96, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D05C[] = +{ + ANIMCMD_FRAME(160, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D064[] = +{ + ANIMCMD_FRAME(168, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D06C[] = +{ + ANIMCMD_FRAME(128, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D074[] = +{ + ANIMCMD_FRAME(130, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D07C[] = +{ + ANIMCMD_FRAME(132, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D084[] = +{ + ANIMCMD_FRAME(134, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D08C[] = +{ + ANIMCMD_FRAME(136, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D094[] = +{ + ANIMCMD_FRAME(138, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D09C[] = +{ + ANIMCMD_FRAME(140, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0A4[] = +{ + ANIMCMD_FRAME(142, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0AC[] = +{ + ANIMCMD_FRAME(144, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0B4[] = +{ + ANIMCMD_FRAME(146, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0BC[] = +{ + ANIMCMD_FRAME(176, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0C4[] = +{ + ANIMCMD_FRAME(178, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0CC[] = +{ + ANIMCMD_FRAME(180, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0D4[] = +{ + ANIMCMD_FRAME(182, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0DC[] = +{ + ANIMCMD_FRAME(184, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0E4[] = +{ + ANIMCMD_FRAME(186, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0EC[] = +{ + ANIMCMD_FRAME(188, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0F4[] = +{ + ANIMCMD_FRAME(190, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D0FC[] = +{ + ANIMCMD_FRAME(192, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D104[] = +{ + ANIMCMD_FRAME(194, 30), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_855D10C[] = +{ + ANIMCMD_FRAME(4, 30), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_855D114[] = +{ + sSpriteAnim_855D014 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D118[] = +{ + sSpriteAnim_855D01C +}; + +static const union AnimCmd *const sSpriteAnimTable_855D11C[] = +{ + sSpriteAnim_855D024 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D120[] = +{ + sSpriteAnim_855D02C, + sSpriteAnim_855D034, + sSpriteAnim_855D03C, + sSpriteAnim_855D044 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D130[] = +{ + sSpriteAnim_855D04C, + sSpriteAnim_855D054 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D138[] = +{ + sSpriteAnim_855D05C, + sSpriteAnim_855D064 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D140[] = +{ + sSpriteAnim_855D06C, + sSpriteAnim_855D074, + sSpriteAnim_855D07C, + sSpriteAnim_855D084, + sSpriteAnim_855D08C, + sSpriteAnim_855D094, + sSpriteAnim_855D09C, + sSpriteAnim_855D0A4, + sSpriteAnim_855D0AC, + sSpriteAnim_855D0B4 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D168[] = +{ + sSpriteAnim_855D0BC, + sSpriteAnim_855D0C4, + sSpriteAnim_855D0CC, + sSpriteAnim_855D0D4, + sSpriteAnim_855D0DC, + sSpriteAnim_855D0E4, + sSpriteAnim_855D0EC, + sSpriteAnim_855D0F4, + sSpriteAnim_855D0FC, + sSpriteAnim_855D104 +}; + +static const union AnimCmd *const sSpriteAnimTable_855D190[] = +{ + sSpriteAnim_855D10C +}; + +const struct SpriteTemplate gUnknown_0855D194 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFE4, + .anims = sSpriteAnimTable_855D114, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE604, +}; + +const struct SpriteTemplate gUnknown_0855D1AC = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFEC, + .anims = sSpriteAnimTable_855D118, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE658, +}; + +const struct SpriteTemplate gUnknown_0855D1C4 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFF4, + .anims = sSpriteAnimTable_855D120, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE758, +}; + +const struct SpriteTemplate gUnknown_0855D1DC = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFFC, + .anims = sSpriteAnimTable_855D11C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE780, +}; + +const struct SpriteTemplate gUnknown_0855D1F4 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855D004, + .anims = sSpriteAnimTable_855D130, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE44C, +}; + +const struct SpriteTemplate gUnknown_0855D20C = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855CFF4, + .anims = sSpriteAnimTable_855D138, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE44C, +}; + +const struct SpriteTemplate gUnknown_0855D224 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855D00C, + .anims = sSpriteAnimTable_855D140, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE44C, +}; + +const struct SpriteTemplate gUnknown_0855D23C = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855D00C, + .anims = sSpriteAnimTable_855D168, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE44C, +}; + +const struct SpriteTemplate gUnknown_0855D254 = +{ + .tileTag = 4096, + .paletteTag = 4096, + .oam = &sOamData_855D00C, + .anims = sSpriteAnimTable_855D190, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80BE834, +}; + +const struct CompressedSpriteSheet gSpriteSheets_0855D26C[] = +{ + {gUnknown_08DC234C, 0x2000, 4096}, + {0} +}; + +const struct CompressedSpritePalette gSpritePalettes_0855D26C[] = +{ + {gUnknown_08DC16F4, 4096}, + {0} +}; + +const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20}; +const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1}; + +const struct BgTemplate gBgTemplates_0855D298[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 12, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 13, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 14, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 15, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +const struct WindowTemplate sWindowTemplates_0855D2A8[] = +{ + {2, 0, 0, 0x20, 0x20, 0, 1}, + DUMMY_WIN_TEMPLATE +}; + diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c new file mode 100644 index 000000000..4d1cc51c5 --- /dev/null +++ b/src/pokemon_icon.c @@ -0,0 +1,1014 @@ +#include "global.h" +#include "sprite.h" +#include "graphics.h" + +#define POKE_ICON_BASE_PAL_TAG 56000 + +const u8 * const gMonIconTable[] = +{ + gMonIcon_Bulbasaur, + gMonIcon_Bulbasaur, + gMonIcon_Ivysaur, + gMonIcon_Venusaur, + gMonIcon_Charmander, + gMonIcon_Charmeleon, + gMonIcon_Charizard, + gMonIcon_Squirtle, + gMonIcon_Wartortle, + gMonIcon_Blastoise, + gMonIcon_Caterpie, + gMonIcon_Metapod, + gMonIcon_Butterfree, + gMonIcon_Weedle, + gMonIcon_Kakuna, + gMonIcon_Beedrill, + gMonIcon_Pidgey, + gMonIcon_Pidgeotto, + gMonIcon_Pidgeot, + gMonIcon_Rattata, + gMonIcon_Raticate, + gMonIcon_Spearow, + gMonIcon_Fearow, + gMonIcon_Ekans, + gMonIcon_Arbok, + gMonIcon_Pikachu, + gMonIcon_Raichu, + gMonIcon_Sandshrew, + gMonIcon_Sandslash, + gMonIcon_NidoranF, + gMonIcon_Nidorina, + gMonIcon_Nidoqueen, + gMonIcon_NidoranM, + gMonIcon_Nidorino, + gMonIcon_Nidoking, + gMonIcon_Clefairy, + gMonIcon_Clefable, + gMonIcon_Vulpix, + gMonIcon_Ninetales, + gMonIcon_Jigglypuff, + gMonIcon_Wigglytuff, + gMonIcon_Zubat, + gMonIcon_Golbat, + gMonIcon_Oddish, + gMonIcon_Gloom, + gMonIcon_Vileplume, + gMonIcon_Paras, + gMonIcon_Parasect, + gMonIcon_Venonat, + gMonIcon_Venomoth, + gMonIcon_Diglett, + gMonIcon_Dugtrio, + gMonIcon_Meowth, + gMonIcon_Persian, + gMonIcon_Psyduck, + gMonIcon_Golduck, + gMonIcon_Mankey, + gMonIcon_Primeape, + gMonIcon_Growlithe, + gMonIcon_Arcanine, + gMonIcon_Poliwag, + gMonIcon_Poliwhirl, + gMonIcon_Poliwrath, + gMonIcon_Abra, + gMonIcon_Kadabra, + gMonIcon_Alakazam, + gMonIcon_Machop, + gMonIcon_Machoke, + gMonIcon_Machamp, + gMonIcon_Bellsprout, + gMonIcon_Weepinbell, + gMonIcon_Victreebel, + gMonIcon_Tentacool, + gMonIcon_Tentacruel, + gMonIcon_Geodude, + gMonIcon_Graveler, + gMonIcon_Golem, + gMonIcon_Ponyta, + gMonIcon_Rapidash, + gMonIcon_Slowpoke, + gMonIcon_Slowbro, + gMonIcon_Magnemite, + gMonIcon_Magneton, + gMonIcon_Farfetchd, + gMonIcon_Doduo, + gMonIcon_Dodrio, + gMonIcon_Seel, + gMonIcon_Dewgong, + gMonIcon_Grimer, + gMonIcon_Muk, + gMonIcon_Shellder, + gMonIcon_Cloyster, + gMonIcon_Gastly, + gMonIcon_Haunter, + gMonIcon_Gengar, + gMonIcon_Onix, + gMonIcon_Drowzee, + gMonIcon_Hypno, + gMonIcon_Krabby, + gMonIcon_Kingler, + gMonIcon_Voltorb, + gMonIcon_Electrode, + gMonIcon_Exeggcute, + gMonIcon_Exeggutor, + gMonIcon_Cubone, + gMonIcon_Marowak, + gMonIcon_Hitmonlee, + gMonIcon_Hitmonchan, + gMonIcon_Lickitung, + gMonIcon_Koffing, + gMonIcon_Weezing, + gMonIcon_Rhyhorn, + gMonIcon_Rhydon, + gMonIcon_Chansey, + gMonIcon_Tangela, + gMonIcon_Kangaskhan, + gMonIcon_Horsea, + gMonIcon_Seadra, + gMonIcon_Goldeen, + gMonIcon_Seaking, + gMonIcon_Staryu, + gMonIcon_Starmie, + gMonIcon_Mrmime, + gMonIcon_Scyther, + gMonIcon_Jynx, + gMonIcon_Electabuzz, + gMonIcon_Magmar, + gMonIcon_Pinsir, + gMonIcon_Tauros, + gMonIcon_Magikarp, + gMonIcon_Gyarados, + gMonIcon_Lapras, + gMonIcon_Ditto, + gMonIcon_Eevee, + gMonIcon_Vaporeon, + gMonIcon_Jolteon, + gMonIcon_Flareon, + gMonIcon_Porygon, + gMonIcon_Omanyte, + gMonIcon_Omastar, + gMonIcon_Kabuto, + gMonIcon_Kabutops, + gMonIcon_Aerodactyl, + gMonIcon_Snorlax, + gMonIcon_Articuno, + gMonIcon_Zapdos, + gMonIcon_Moltres, + gMonIcon_Dratini, + gMonIcon_Dragonair, + gMonIcon_Dragonite, + gMonIcon_Mewtwo, + gMonIcon_Mew, + gMonIcon_Chikorita, + gMonIcon_Bayleef, + gMonIcon_Meganium, + gMonIcon_Cyndaquil, + gMonIcon_Quilava, + gMonIcon_Typhlosion, + gMonIcon_Totodile, + gMonIcon_Croconaw, + gMonIcon_Feraligatr, + gMonIcon_Sentret, + gMonIcon_Furret, + gMonIcon_Hoothoot, + gMonIcon_Noctowl, + gMonIcon_Ledyba, + gMonIcon_Ledian, + gMonIcon_Spinarak, + gMonIcon_Ariados, + gMonIcon_Crobat, + gMonIcon_Chinchou, + gMonIcon_Lanturn, + gMonIcon_Pichu, + gMonIcon_Cleffa, + gMonIcon_Igglybuff, + gMonIcon_Togepi, + gMonIcon_Togetic, + gMonIcon_Natu, + gMonIcon_Xatu, + gMonIcon_Mareep, + gMonIcon_Flaaffy, + gMonIcon_Ampharos, + gMonIcon_Bellossom, + gMonIcon_Marill, + gMonIcon_Azumarill, + gMonIcon_Sudowoodo, + gMonIcon_Politoed, + gMonIcon_Hoppip, + gMonIcon_Skiploom, + gMonIcon_Jumpluff, + gMonIcon_Aipom, + gMonIcon_Sunkern, + gMonIcon_Sunflora, + gMonIcon_Yanma, + gMonIcon_Wooper, + gMonIcon_Quagsire, + gMonIcon_Espeon, + gMonIcon_Umbreon, + gMonIcon_Murkrow, + gMonIcon_Slowking, + gMonIcon_Misdreavus, + gMonIcon_UnownA, + gMonIcon_Wobbuffet, + gMonIcon_Girafarig, + gMonIcon_Pineco, + gMonIcon_Forretress, + gMonIcon_Dunsparce, + gMonIcon_Gligar, + gMonIcon_Steelix, + gMonIcon_Snubbull, + gMonIcon_Granbull, + gMonIcon_Qwilfish, + gMonIcon_Scizor, + gMonIcon_Shuckle, + gMonIcon_Heracross, + gMonIcon_Sneasel, + gMonIcon_Teddiursa, + gMonIcon_Ursaring, + gMonIcon_Slugma, + gMonIcon_Magcargo, + gMonIcon_Swinub, + gMonIcon_Piloswine, + gMonIcon_Corsola, + gMonIcon_Remoraid, + gMonIcon_Octillery, + gMonIcon_Delibird, + gMonIcon_Mantine, + gMonIcon_Skarmory, + gMonIcon_Houndour, + gMonIcon_Houndoom, + gMonIcon_Kingdra, + gMonIcon_Phanpy, + gMonIcon_Donphan, + gMonIcon_Porygon2, + gMonIcon_Stantler, + gMonIcon_Smeargle, + gMonIcon_Tyrogue, + gMonIcon_Hitmontop, + gMonIcon_Smoochum, + gMonIcon_Elekid, + gMonIcon_Magby, + gMonIcon_Miltank, + gMonIcon_Blissey, + gMonIcon_Raikou, + gMonIcon_Entei, + gMonIcon_Suicune, + gMonIcon_Larvitar, + gMonIcon_Pupitar, + gMonIcon_Tyranitar, + gMonIcon_Lugia, + gMonIcon_HoOh, + gMonIcon_Celebi, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_QuestionMark, + gMonIcon_Treecko, + gMonIcon_Grovyle, + gMonIcon_Sceptile, + gMonIcon_Torchic, + gMonIcon_Combusken, + gMonIcon_Blaziken, + gMonIcon_Mudkip, + gMonIcon_Marshtomp, + gMonIcon_Swampert, + gMonIcon_Poochyena, + gMonIcon_Mightyena, + gMonIcon_Zigzagoon, + gMonIcon_Linoone, + gMonIcon_Wurmple, + gMonIcon_Silcoon, + gMonIcon_Beautifly, + gMonIcon_Cascoon, + gMonIcon_Dustox, + gMonIcon_Lotad, + gMonIcon_Lombre, + gMonIcon_Ludicolo, + gMonIcon_Seedot, + gMonIcon_Nuzleaf, + gMonIcon_Shiftry, + gMonIcon_Nincada, + gMonIcon_Ninjask, + gMonIcon_Shedinja, + gMonIcon_Taillow, + gMonIcon_Swellow, + gMonIcon_Shroomish, + gMonIcon_Breloom, + gMonIcon_Spinda, + gMonIcon_Wingull, + gMonIcon_Pelipper, + gMonIcon_Surskit, + gMonIcon_Masquerain, + gMonIcon_Wailmer, + gMonIcon_Wailord, + gMonIcon_Skitty, + gMonIcon_Delcatty, + gMonIcon_Kecleon, + gMonIcon_Baltoy, + gMonIcon_Claydol, + gMonIcon_Nosepass, + gMonIcon_Torkoal, + gMonIcon_Sableye, + gMonIcon_Barboach, + gMonIcon_Whiscash, + gMonIcon_Luvdisc, + gMonIcon_Corphish, + gMonIcon_Crawdaunt, + gMonIcon_Feebas, + gMonIcon_Milotic, + gMonIcon_Carvanha, + gMonIcon_Sharpedo, + gMonIcon_Trapinch, + gMonIcon_Vibrava, + gMonIcon_Flygon, + gMonIcon_Makuhita, + gMonIcon_Hariyama, + gMonIcon_Electrike, + gMonIcon_Manectric, + gMonIcon_Numel, + gMonIcon_Camerupt, + gMonIcon_Spheal, + gMonIcon_Sealeo, + gMonIcon_Walrein, + gMonIcon_Cacnea, + gMonIcon_Cacturne, + gMonIcon_Snorunt, + gMonIcon_Glalie, + gMonIcon_Lunatone, + gMonIcon_Solrock, + gMonIcon_Azurill, + gMonIcon_Spoink, + gMonIcon_Grumpig, + gMonIcon_Plusle, + gMonIcon_Minun, + gMonIcon_Mawile, + gMonIcon_Meditite, + gMonIcon_Medicham, + gMonIcon_Swablu, + gMonIcon_Altaria, + gMonIcon_Wynaut, + gMonIcon_Duskull, + gMonIcon_Dusclops, + gMonIcon_Roselia, + gMonIcon_Slakoth, + gMonIcon_Vigoroth, + gMonIcon_Slaking, + gMonIcon_Gulpin, + gMonIcon_Swalot, + gMonIcon_Tropius, + gMonIcon_Whismur, + gMonIcon_Loudred, + gMonIcon_Exploud, + gMonIcon_Clamperl, + gMonIcon_Huntail, + gMonIcon_Gorebyss, + gMonIcon_Absol, + gMonIcon_Shuppet, + gMonIcon_Banette, + gMonIcon_Seviper, + gMonIcon_Zangoose, + gMonIcon_Relicanth, + gMonIcon_Aron, + gMonIcon_Lairon, + gMonIcon_Aggron, + gMonIcon_Castform, + gMonIcon_Volbeat, + gMonIcon_Illumise, + gMonIcon_Lileep, + gMonIcon_Cradily, + gMonIcon_Anorith, + gMonIcon_Armaldo, + gMonIcon_Ralts, + gMonIcon_Kirlia, + gMonIcon_Gardevoir, + gMonIcon_Bagon, + gMonIcon_Shelgon, + gMonIcon_Salamence, + gMonIcon_Beldum, + gMonIcon_Metang, + gMonIcon_Metagross, + gMonIcon_Regirock, + gMonIcon_Regice, + gMonIcon_Registeel, + gMonIcon_Kyogre, + gMonIcon_Groudon, + gMonIcon_Rayquaza, + gMonIcon_Latias, + gMonIcon_Latios, + gMonIcon_Jirachi, + gMonIcon_Deoxys, + gMonIcon_Chimecho, + gMonIcon_Egg, + gMonIcon_UnownB, + gMonIcon_UnownC, + gMonIcon_UnownD, + gMonIcon_UnownE, + gMonIcon_UnownF, + gMonIcon_UnownG, + gMonIcon_UnownH, + gMonIcon_UnownI, + gMonIcon_UnownJ, + gMonIcon_UnownK, + gMonIcon_UnownL, + gMonIcon_UnownM, + gMonIcon_UnownN, + gMonIcon_UnownO, + gMonIcon_UnownP, + gMonIcon_UnownQ, + gMonIcon_UnownR, + gMonIcon_UnownS, + gMonIcon_UnownT, + gMonIcon_UnownU, + gMonIcon_UnownV, + gMonIcon_UnownW, + gMonIcon_UnownX, + gMonIcon_UnownY, + gMonIcon_UnownZ, + gMonIcon_UnownExclamationMark, + gMonIcon_UnownQuestionMark, +}; + +const u8 gMonIconPaletteIndices[] = +{ + 0, // ?????????? + 1, // Bulbasaur + 1, // Ivysaur + 1, // Venusaur + 0, // Charmander + 0, // Charmeleon + 0, // Charizard + 0, // Squirtle + 2, // Wartortle + 2, // Blastoise + 1, // Caterpie + 1, // Metapod + 0, // Butterfree + 1, // Weedle + 2, // Kakuna + 2, // Beedrill + 0, // Pidgey + 0, // Pidgeotto + 0, // Pidgeot + 2, // Rattata + 1, // Raticate + 0, // Spearow + 0, // Fearow + 2, // Ekans + 2, // Arbok + 2, // Pikachu + 0, // Raichu + 2, // Sandshrew + 2, // Sandslash + 2, // Nidoran♀ + 2, // Nidorina + 2, // Nidoqueen + 2, // Nidoran♂ + 2, // Nidorino + 2, // Nidoking + 0, // Clefairy + 0, // Clefable + 2, // Vulpix + 1, // Ninetales + 0, // Jigglypuff + 0, // Wigglytuff + 2, // Zubat + 2, // Golbat + 1, // Oddish + 0, // Gloom + 0, // Vileplume + 0, // Paras + 0, // Parasect + 0, // Venonat + 2, // Venomoth + 2, // Diglett + 2, // Dugtrio + 1, // Meowth + 1, // Persian + 1, // Psyduck + 2, // Golduck + 1, // Mankey + 2, // Primeape + 0, // Growlithe + 0, // Arcanine + 0, // Poliwag + 0, // Poliwhirl + 0, // Poliwrath + 2, // Abra + 2, // Kadabra + 2, // Alakazam + 0, // Machop + 2, // Machoke + 0, // Machamp + 1, // Bellsprout + 1, // Weepinbell + 1, // Victreebel + 2, // Tentacool + 2, // Tentacruel + 1, // Geodude + 1, // Graveler + 1, // Golem + 0, // Ponyta + 0, // Rapidash + 0, // Slowpoke + 0, // Slowbro + 0, // Magnemite + 0, // Magneton + 1, // Farfetch'd + 2, // Doduo + 2, // Dodrio + 2, // Seel + 2, // Dewgong + 2, // Grimer + 2, // Muk + 2, // Shellder + 2, // Cloyster + 2, // Gastly + 2, // Haunter + 2, // Gengar + 2, // Onix + 2, // Drowzee + 1, // Hypno + 2, // Krabby + 2, // Kingler + 0, // Voltorb + 0, // Electrode + 0, // Exeggcute + 1, // Exeggutor + 1, // Cubone + 1, // Marowak + 2, // Hitmonlee + 2, // Hitmonchan + 1, // Lickitung + 2, // Koffing + 2, // Weezing + 1, // Rhyhorn + 1, // Rhydon + 0, // Chansey + 0, // Tangela + 1, // Kangaskhan + 0, // Horsea + 0, // Seadra + 0, // Goldeen + 0, // Seaking + 2, // Staryu + 2, // Starmie + 0, // Mr. mime + 1, // Scyther + 2, // Jynx + 1, // Electabuzz + 0, // Magmar + 2, // Pinsir + 2, // Tauros + 0, // Magikarp + 0, // Gyarados + 2, // Lapras + 2, // Ditto + 2, // Eevee + 0, // Vaporeon + 0, // Jolteon + 0, // Flareon + 0, // Porygon + 0, // Omanyte + 0, // Omastar + 2, // Kabuto + 2, // Kabutops + 0, // Aerodactyl + 1, // Snorlax + 0, // Articuno + 0, // Zapdos + 0, // Moltres + 0, // Dratini + 0, // Dragonair + 2, // Dragonite + 2, // Mewtwo + 0, // Mew + 1, // Chikorita + 1, // Bayleef + 1, // Meganium + 1, // Cyndaquil + 1, // Quilava + 1, // Typhlosion + 2, // Totodile + 2, // Croconaw + 2, // Feraligatr + 2, // Sentret + 2, // Furret + 2, // Hoothoot + 2, // Noctowl + 0, // Ledyba + 0, // Ledian + 1, // Spinarak + 0, // Ariados + 2, // Crobat + 2, // Chinchou + 0, // Lanturn + 0, // Pichu + 0, // Cleffa + 1, // Igglybuff + 2, // Togepi + 2, // Togetic + 0, // Natu + 0, // Xatu + 2, // Mareep + 0, // Flaaffy + 0, // Ampharos + 1, // Bellossom + 2, // Marill + 2, // Azumarill + 1, // Sudowoodo + 1, // Politoed + 1, // Hoppip + 1, // Skiploom + 2, // Jumpluff + 2, // Aipom + 1, // Sunkern + 1, // Sunflora + 1, // Yanma + 0, // Wooper + 0, // Quagsire + 2, // Espeon + 2, // Umbreon + 2, // Murkrow + 0, // Slowking + 0, // Misdreavus + 0, // Unown A + 0, // Wobbuffet + 1, // Girafarig + 0, // Pineco + 2, // Forretress + 2, // Dunsparce + 2, // Gligar + 0, // Steelix + 0, // Snubbull + 2, // Granbull + 0, // Qwilfish + 0, // Scizor + 1, // Shuckle + 2, // Heracross + 0, // Sneasel + 0, // Teddiursa + 2, // Ursaring + 0, // Slugma + 0, // Magcargo + 2, // Swinub + 2, // Piloswine + 0, // Corsola + 0, // Remoraid + 0, // Octillery + 0, // Delibird + 2, // Mantine + 0, // Skarmory + 0, // Houndour + 0, // Houndoom + 0, // Kingdra + 0, // Phanpy + 0, // Donphan + 0, // Porygon2 + 2, // Stantler + 1, // Smeargle + 2, // Tyrogue + 2, // Hitmontop + 1, // Smoochum + 1, // Elekid + 1, // Magby + 1, // Miltank + 1, // Blissey + 0, // Raikou + 2, // Entei + 0, // Suicune + 1, // Larvitar + 0, // Pupitar + 1, // Tyranitar + 0, // Lugia + 1, // Ho-Oh + 1, // Celebi + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 0, // ? + 1, // Treecko + 0, // Grovyle + 1, // Sceptile + 0, // Torchic + 0, // Combusken + 0, // Blaziken + 0, // Mudkip + 0, // Marshtomp + 0, // Swampert + 2, // Poochyena + 2, // Mightyena + 2, // Zigzagoon + 2, // Linoone + 0, // Wurmple + 2, // Silcoon + 0, // Beautifly + 2, // Cascoon + 1, // Dustox + 1, // Lotad + 1, // Lombre + 1, // Ludicolo + 1, // Seedot + 1, // Nuzleaf + 0, // Shiftry + 1, // Nincada + 1, // Ninjask + 1, // Shedinja + 2, // Taillow + 2, // Swellow + 1, // Shroomish + 1, // Breloom + 1, // Spinda + 0, // Wingull + 0, // Pelipper + 2, // Surskit + 0, // Masquerain + 2, // Wailmer + 0, // Wailord + 0, // Skitty + 2, // Delcatty + 1, // Kecleon + 1, // Baltoy + 0, // Claydol + 0, // Nosepass + 1, // Torkoal + 2, // Sableye + 0, // Barboach + 0, // Whiscash + 0, // Luvdisc + 0, // Corphish + 0, // Crawdaunt + 2, // Feebas + 0, // Milotic + 0, // Carvanha + 0, // Sharpedo + 1, // Trapinch + 1, // Vibrava + 1, // Flygon + 2, // Makuhita + 1, // Hariyama + 1, // Electrike + 0, // Manectric + 1, // Numel + 0, // Camerupt + 2, // Spheal + 2, // Sealeo + 0, // Walrein + 1, // Cacnea + 1, // Cacturne + 2, // Snorunt + 0, // Glalie + 1, // Lunatone + 0, // Solrock + 2, // Azurill + 0, // Spoink + 2, // Grumpig + 0, // Plusle + 0, // Minun + 2, // Mawile + 0, // Meditite + 0, // Medicham + 0, // Swablu + 0, // Altaria + 0, // Wynaut + 0, // Duskull + 0, // Dusclops + 0, // Roselia + 2, // Slakoth + 2, // Vigoroth + 1, // Slaking + 1, // Gulpin + 2, // Swalot + 1, // Tropius + 0, // Whismur + 2, // Loudred + 2, // Exploud + 0, // Clamperl + 0, // Huntail + 0, // Gorebyss + 0, // Absol + 0, // Shuppet + 0, // Banette + 2, // Seviper + 0, // Zangoose + 1, // Relicanth + 2, // Aron + 2, // Lairon + 2, // Aggron + 0, // Castform + 0, // Volbeat + 2, // Illumise + 2, // Lileep + 0, // Cradily + 0, // Anorith + 0, // Armaldo + 1, // Ralts + 1, // Kirlia + 1, // Gardevoir + 2, // Bagon + 2, // Shelgon + 0, // Salamence + 0, // Beldum + 0, // Metang + 0, // Metagross + 2, // Regirock + 2, // Regice + 2, // Registeel + 2, // Kyogre + 0, // Groudon + 1, // Rayquaza + 0, // Latias + 2, // Latios + 0, // Jirachi + 0, // Deoxys + 0, // Chimecho + 1, // Egg + 0, // Unown B + 0, // Unown C + 0, // Unown D + 0, // Unown E + 0, // Unown F + 0, // Unown G + 0, // Unown H + 0, // Unown I + 0, // Unown J + 0, // Unown K + 0, // Unown L + 0, // Unown M + 0, // Unown N + 0, // Unown O + 0, // Unown P + 0, // Unown Q + 0, // Unown R + 0, // Unown S + 0, // Unown T + 0, // Unown U + 0, // Unown V + 0, // Unown W + 0, // Unown X + 0, // Unown Y + 0, // Unown Z + 0, // Unown Exclamation Mark + 0, // Unown Question Mark +}; + +const struct SpritePalette gMonIconPaletteTable[] = +{ + { gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 }, + { gMonIconPalettes[1], POKE_ICON_BASE_PAL_TAG + 1 }, + { gMonIconPalettes[2], POKE_ICON_BASE_PAL_TAG + 2 }, + +// There are only 3 actual palettes. The following are unused +// and don't point to valid data. + { gMonIconPalettes[3], POKE_ICON_BASE_PAL_TAG + 3 }, + { gMonIconPalettes[4], POKE_ICON_BASE_PAL_TAG + 4 }, + { gMonIconPalettes[5], POKE_ICON_BASE_PAL_TAG + 5 }, +}; + +const struct OamData sMonIconOamData = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +// fastest to slowest + +static const union AnimCmd sAnim_0[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_2[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_3[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnim_4[] = +{ + ANIMCMD_FRAME(0, 29), + ANIMCMD_FRAME(0, 29), // frame 0 is repeated + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const sMonIconAnims[] = +{ + sAnim_0, + sAnim_1, + sAnim_2, + sAnim_3, + sAnim_4, +}; + +static const union AffineAnimCmd sAffineAnim_0[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 0, 10), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd sAffineAnim_1[] = +{ + AFFINEANIMCMD_FRAME(-2, -2, 0, 122), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const sMonIconAffineAnims[] = +{ + sAffineAnim_0, + sAffineAnim_1, +}; + +const u16 sSpriteImageSizes[3][4] = +{ + // square + { + 0x20, // 1×1 + 0x80, // 2×2 + 0x200, // 4×4 + 0x800, // 8×8 + }, + + // horizontal rectangle + { + 0x40, // 2×1 + 0x80, // 4×1 + 0x100, // 4×2 + 0x400, // 8×4 + }, + + // vertical rectangle + { + 0x40, // 1×2 + 0x80, // 1×4 + 0x100, // 2×4 + 0x400, // 4×8 + }, +}; diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index bdf4427c7..bb196dd27 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -5,9 +5,76 @@ #include "event_data.h" #include "string_util.h" #include "text.h" +#include "strings.h" +#include "window.h" IWRAM_DATA u8 gUnknown_03000F78[0x188]; +struct OptionAndDescription +{ + const u8 *optionTxt; + const u8 *descriptionTxt; +}; + +// const rom data +const struct OptionAndDescription gUnknown_085716C0[] = +{ + {gText_WithdrawPokemon, gText_WithdrawMonDescription}, + {gText_DepositPokemon, gText_DepositMonDescription}, + {gText_MovePokemon, gText_MoveMonDescription}, + {gText_MoveItems, gText_MoveItemsDescription}, + {gText_SeeYa, gText_SeeYaDescription} +}; + +const struct WindowTemplate gUnknown_085716E8 = {0, 1, 1, 0x11, 0xA, 0xF, 1}; + +static const union AnimCmd sSpriteAnim_85716F0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_85716F8[] = +{ + ANIMCMD_FRAME(4, 5), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8571700[] = +{ + ANIMCMD_FRAME(6, 5), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_8571708[] = +{ + ANIMCMD_FRAME(10, 5), + ANIMCMD_END +}; + +const union AnimCmd *const sSpriteAnimTable_8571710[] = +{ + sSpriteAnim_85716F0, + sSpriteAnim_85716F8, + sSpriteAnim_8571700, + sSpriteAnim_8571708 +}; + +static const union AffineAnimCmd sSpriteAffineAnim_8571720[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] = +{ + sSpriteAffineAnim_8571720 +}; + +const struct TextColor gUnknown_08571734[] = {4, 0xF, 0xE}; +const u8 gUnknown_08571737[] = _("/30"); + +// code u8 CountMonsInBox(u8 boxId) { u16 i, count; diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c new file mode 100644 index 000000000..577294f0c --- /dev/null +++ b/src/rayquaza_scene.c @@ -0,0 +1,1164 @@ +#include "global.h" +#include "sprite.h" +#include "task.h" +#include "graphics.h" +#include "bg.h" + +struct UnkRayquazaStruct +{ + u32 field_0; + u32 field_4; + u32 field_8; +}; + +// this file's functions +void sub_81D7134(u8 taskId); +void sub_81D7F4C(u8 taskId); +void sub_81D84EC(u8 taskId); +void sub_81D8980(u8 taskId); +void sub_81D8DB4(u8 taskId); +void sub_81D6800(u8 taskId); + +void sub_81D8260(struct Sprite *sprite); +void sub_81D961C(struct Sprite *sprite); + +// const rom data +const TaskFunc gUnknown_0862A6A0[] = +{ + sub_81D7134, + sub_81D7134, + sub_81D7F4C, + sub_81D84EC, + sub_81D8980, + sub_81D8DB4, + sub_81D6800 +}; + +static const struct OamData sOamData_862A6BC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6C4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6CC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6D4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6DC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6E4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 2, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6EC = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_862A6F4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_862A6FC[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(64, 30), + ANIMCMD_FRAME(128, 30), + ANIMCMD_FRAME(64, 30), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A710[] = +{ + ANIMCMD_FRAME(192, 30), + ANIMCMD_FRAME(256, 30), + ANIMCMD_FRAME(320, 30), + ANIMCMD_FRAME(256, 30), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A724[] = +{ + sSpriteAnim_862A6FC, + sSpriteAnim_862A710 +}; + +const struct SpriteTemplate gUnknown_0862A72C = +{ + .tileTag = 30505, + .paletteTag = 30505, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862A724, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A744[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862A74C[] = +{ + sSpriteAnim_862A744 +}; + +const struct SpriteTemplate gUnknown_0862A750 = +{ + .tileTag = 30506, + .paletteTag = 30505, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862A74C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A768[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862A770[] = +{ + sSpriteAnim_862A768 +}; + +const struct SpriteTemplate gUnknown_0862A774 = +{ + .tileTag = 30507, + .paletteTag = 30505, + .oam = &sOamData_862A6CC, + .anims = sSpriteAnimTable_862A770, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A78C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A794[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A79C[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A7A4[] = +{ + ANIMCMD_FRAME(24, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A7AC[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A7B4[] = +{ + ANIMCMD_FRAME(40, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A7BC[] = +{ + ANIMCMD_FRAME(48, 36), + ANIMCMD_FRAME(64, 36), + ANIMCMD_FRAME(80, 36), + ANIMCMD_FRAME(64, 36), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A7D0[] = +{ + ANIMCMD_FRAME(56, 36), + ANIMCMD_FRAME(72, 36), + ANIMCMD_FRAME(88, 36), + ANIMCMD_FRAME(72, 36), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A7E4[] = +{ + ANIMCMD_FRAME(96, 36), + ANIMCMD_FRAME(104, 36), + ANIMCMD_FRAME(112, 36), + ANIMCMD_FRAME(104, 36), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A7F8[] = +{ + sSpriteAnim_862A78C, + sSpriteAnim_862A794, + sSpriteAnim_862A79C, + sSpriteAnim_862A7A4, + sSpriteAnim_862A7AC, + sSpriteAnim_862A7B4, + sSpriteAnim_862A7BC, + sSpriteAnim_862A7D0, + sSpriteAnim_862A7E4 +}; + +const struct SpriteTemplate gUnknown_0862A81C = +{ + .tileTag = 30508, + .paletteTag = 30508, + .oam = &sOamData_862A6D4, + .anims = sSpriteAnimTable_862A7F8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A834[] = +{ + ANIMCMD_FRAME(0, 36), + ANIMCMD_FRAME(2, 36), + ANIMCMD_FRAME(4, 36), + ANIMCMD_FRAME(2, 36), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A848[] = +{ + sSpriteAnim_862A834 +}; + +const struct SpriteTemplate gUnknown_0862A84C = +{ + .tileTag = 30509, + .paletteTag = 30508, + .oam = &sOamData_862A6DC, + .anims = sSpriteAnimTable_862A848, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gUnknown_0862A864 = +{ + .tileTag = 30510, + .paletteTag = 30508, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862A74C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct UnkRayquazaStruct gUnknown_0862A87C = {0x4000014, 0xA2600001, 1}; + +const struct BgTemplate gUnknown_0862A888[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, +}; + +static const union AnimCmd sSpriteAnim_862A894[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(64, 20), + ANIMCMD_FRAME(128, 20), + ANIMCMD_FRAME(64, 20), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A8A8[] = +{ + ANIMCMD_FRAME(192, 20), + ANIMCMD_FRAME(256, 20), + ANIMCMD_FRAME(320, 20), + ANIMCMD_FRAME(256, 20), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A8BC[] = +{ + sSpriteAnim_862A894, + sSpriteAnim_862A8A8 +}; + +const struct CompressedSpriteSheet gUnknown_0862A8C4 = +{ + gUnknown_08DA1E78, 0x3000, 30505 +}; + +const struct CompressedSpritePalette gUnknown_0862A8CC = +{ + gUnknown_08DA3370, 30505 +}; + +const struct SpriteTemplate gUnknown_0862A8D4 = +{ + .tileTag = 30505, + .paletteTag = 30505, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862A8BC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A8EC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862A8F4[] = +{ + sSpriteAnim_862A8EC +}; + +const struct CompressedSpriteSheet gUnknown_0862A8F8 = +{ + gUnknown_08DA2A5C, 0x200, 30506 +}; + +const struct SpriteTemplate gUnknown_0862A900 = +{ + .tileTag = 30506, + .paletteTag = 30505, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862A8F4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A918[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862A920[] = +{ + sSpriteAnim_862A918 +}; + +const struct CompressedSpriteSheet gUnknown_0862A924 = +{ + gUnknown_08DA2B28, 0x400, 30507 +}; + +const struct SpriteTemplate gUnknown_0862A92C = +{ + .tileTag = 30507, + .paletteTag = 30505, + .oam = &sOamData_862A6CC, + .anims = sSpriteAnimTable_862A920, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A944[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A94C[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A954[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A95C[] = +{ + ANIMCMD_FRAME(24, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A964[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A96C[] = +{ + ANIMCMD_FRAME(40, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862A974[] = +{ + ANIMCMD_FRAME(48, 24), + ANIMCMD_FRAME(64, 24), + ANIMCMD_FRAME(80, 24), + ANIMCMD_FRAME(64, 24), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A988[] = +{ + ANIMCMD_FRAME(56, 24), + ANIMCMD_FRAME(72, 24), + ANIMCMD_FRAME(88, 24), + ANIMCMD_FRAME(72, 24), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sSpriteAnim_862A99C[] = +{ + ANIMCMD_FRAME(96, 24), + ANIMCMD_FRAME(104, 24), + ANIMCMD_FRAME(112, 24), + ANIMCMD_FRAME(104, 24), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862A9B0[] = +{ + sSpriteAnim_862A944, + sSpriteAnim_862A94C, + sSpriteAnim_862A954, + sSpriteAnim_862A95C, + sSpriteAnim_862A964, + sSpriteAnim_862A96C, + sSpriteAnim_862A974, + sSpriteAnim_862A988, + sSpriteAnim_862A99C +}; + +const struct CompressedSpriteSheet gUnknown_0862A9D4 = +{ + gUnknown_08DA2D1C, 0xF00, 30508 +}; + +const struct CompressedSpritePalette gUnknown_0862A9DC = +{ + gUnknown_08DA3398, 30508 +}; + +const struct SpriteTemplate gUnknown_0862A9E4 = +{ + .tileTag = 30508, + .paletteTag = 30508, + .oam = &sOamData_862A6D4, + .anims = sSpriteAnimTable_862A9B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const union AnimCmd sSpriteAnim_862A9FC[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(2, 24), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862AA10[] = +{ + sSpriteAnim_862A9FC +}; + +const struct CompressedSpriteSheet gUnknown_0862AA14 = +{ + gUnknown_08DA3250, 0xC0, 30509 +}; + +const struct SpriteTemplate gUnknown_0862AA1C = +{ + .tileTag = 30509, + .paletteTag = 30508, + .oam = &sOamData_862A6DC, + .anims = sSpriteAnimTable_862AA10, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct CompressedSpriteSheet gUnknown_0862AA34 = +{ + gUnknown_08DA32A4, 0x200, 30510 +}; + +const struct SpriteTemplate gUnknown_0862AA3C = +{ + .tileTag = 30510, + .paletteTag = 30508, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862A8F4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct BgTemplate gUnknown_0862AA54[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 29, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + } +}; + +static const union AnimCmd sSpriteAnim_862AA60[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862AA68[] = +{ + sSpriteAnim_862AA60 +}; + +static const union AffineAnimCmd sSpriteAffineAnim_862AA6C[] = +{ + AFFINEANIMCMD_FRAME(-64, -64, 0, 1), + AFFINEANIMCMD_FRAME(32, 32, 0, 14), + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const sSpriteAffineAnimTable_862AA8C[] = +{ + sSpriteAffineAnim_862AA6C +}; + +const struct CompressedSpriteSheet gUnknown_0862AA90 = +{ + gUnknown_08DA3BC0, 0x100, 30555 +}; + +const struct CompressedSpritePalette gUnknown_0862AA98 = +{ + gUnknown_08DA3C7C, 30555 +}; + +const struct SpriteTemplate gUnknown_0862AAA0 = +{ + .tileTag = 30555, + .paletteTag = 30555, + .oam = &sOamData_862A6D4, + .anims = sSpriteAnimTable_862AA68, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_862AA8C, + .callback = sub_81D8260, +}; + +const s8 gUnknown_0862AAB8[][2] = +{ + {-1, 5}, + {-3, -4}, + {5, -3}, + {-7, 2}, + {-9, -1}, + {1, -5}, + {3, 4}, + {-5, 3}, + {7, -2}, + {9, 1} +}; + +const struct BgTemplate gUnknown_0862AACC[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 1, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +static const union AnimCmd sSpriteAnim_862AADC[] = +{ + ANIMCMD_FRAME(0, 32), + ANIMCMD_FRAME(64, 32), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862AAE8[] = +{ + sSpriteAnim_862AADC +}; + +static const union AnimCmd sSpriteAnim_862AAEC[] = +{ + ANIMCMD_FRAME(0, 32), + ANIMCMD_FRAME(8, 32), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sSpriteAnimTable_862AAF8[] = +{ + sSpriteAnim_862AAEC +}; + +const struct CompressedSpriteSheet gUnknown_0862AAFC = +{ + gUnknown_08DA6440, 0x1000, 30556 +}; + +const struct CompressedSpriteSheet gUnknown_0862AB04 = +{ + gUnknown_08DA68AC, 0x200, 30557 +}; + +const struct CompressedSpritePalette gUnknown_0862AB0C = +{ + gUnknown_08DA4DA8, 30556 +}; + +const struct SpriteTemplate gUnknown_0862AB14 = +{ + .tileTag = 30556, + .paletteTag = 30556, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862AAE8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gUnknown_0862AB2C = +{ + .tileTag = 30557, + .paletteTag = 30556, + .oam = &sOamData_862A6E4, + .anims = sSpriteAnimTable_862AAF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct BgTemplate gUnknown_0862AB44[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +static const union AnimCmd sSpriteAnim_862AB54[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862AB5C[] = +{ + ANIMCMD_FRAME(0, 48), + ANIMCMD_FRAME(64, 32), + ANIMCMD_FRAME(0, 48), + ANIMCMD_FRAME(128, 32), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_862AB70[] = +{ + sSpriteAnim_862AB54, + sSpriteAnim_862AB5C +}; + +static const union AnimCmd sSpriteAnim_862AB78[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862AB80[] = +{ + sSpriteAnim_862AB78, +}; + +static const union AnimCmd sSpriteAnim_862AB84[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862AB8C[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862AB94[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862AB9C[] = +{ + sSpriteAnim_862AB84, + sSpriteAnim_862AB8C, + sSpriteAnim_862AB94 +}; + +static const union AnimCmd sSpriteAnim_862ABA8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABB0[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABB8[] = +{ + ANIMCMD_FRAME(128, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABC0[] = +{ + ANIMCMD_FRAME(192, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862ABC8[] = +{ + sSpriteAnim_862ABA8, + sSpriteAnim_862ABB0, + sSpriteAnim_862ABB8, + sSpriteAnim_862ABC0 +}; + +static const union AnimCmd sSpriteAnim_862ABD8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABE0[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABE8[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_862ABF0[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_862ABF8[] = +{ + sSpriteAnim_862ABD8, + sSpriteAnim_862ABE0, + sSpriteAnim_862ABE8, + sSpriteAnim_862ABF0 +}; + +static const union AnimCmd sSpriteAnim_862AC08[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_FRAME(12, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(20, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_862AC24[] = +{ + sSpriteAnim_862AC08 +}; + +const struct CompressedSpriteSheet gUnknown_0862AC28 = +{ + gUnknown_08DA8ED8, 0x1800, 30565 +}; + +const struct CompressedSpriteSheet gUnknown_0862AC30 = +{ + gUnknown_08DA9670, 0x80, 30566 +}; + +const struct CompressedSpriteSheet gUnknown_0862AC38 = +{ + gUnknown_08DA96B4, 0x600, 30568 +}; + +const struct CompressedSpriteSheet gUnknown_0862AC40 = +{ + gUnknown_08DA98FC, 0x2000, 30569 +}; + +const struct CompressedSpriteSheet gUnknown_0862AC48 = +{ + gUnknown_08DAA5A4, 0x800, 30570 +}; + +const struct CompressedSpriteSheet gUnknown_0862AC50 = +{ + gUnknown_08DAA794, 0x300, 30571 +}; + +const struct CompressedSpritePalette gUnknown_0862AC58 = +{ + gUnknown_08DAA82C, 30565 +}; + +const struct CompressedSpritePalette gUnknown_0862AC60 = +{ + gUnknown_08DAA854, 30568 +}; + +const struct CompressedSpritePalette gUnknown_0862AC68 = +{ + gUnknown_08DAA87C, 30569 +}; + +const struct CompressedSpritePalette gUnknown_0862AC70 = +{ + gUnknown_08DAA8A4, 30571 +}; + +const struct SpriteTemplate gUnknown_0862AC78 = +{ + .tileTag = 30565, + .paletteTag = 30565, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862AB70, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gUnknown_0862AC90 = +{ + .tileTag = 30566, + .paletteTag = 30565, + .oam = &sOamData_862A6EC, + .anims = sSpriteAnimTable_862AB80, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gUnknown_0862ACA8 = +{ + .tileTag = 30568, + .paletteTag = 30568, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862AB9C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gUnknown_0862ACC0 = +{ + .tileTag = 30569, + .paletteTag = 30569, + .oam = &sOamData_862A6BC, + .anims = sSpriteAnimTable_862ABC8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81D961C, +}; + +const struct SpriteTemplate gUnknown_0862ACD8 = +{ + .tileTag = 30570, + .paletteTag = 30569, + .oam = &sOamData_862A6C4, + .anims = sSpriteAnimTable_862ABF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gUnknown_0862ACF0 = +{ + .tileTag = 30571, + .paletteTag = 30571, + .oam = &sOamData_862A6F4, + .anims = sSpriteAnimTable_862AC24, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct BgTemplate gUnknown_0862AD08[] = +{ + { + .bg = 0, + .charBaseIndex = 1, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + } +}; + diff --git a/src/start_menu.c b/src/start_menu.c index f45fd8626..a820cd992 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -6,6 +6,8 @@ #include "window.h" #include "string_util.h" #include "text.h" +#include "strings.h" +#include "bg.h" // Menu actions enum @@ -25,15 +27,6 @@ enum MENU_ACTION_PYRAMID_BAG }; -static void BuildStartMenuActions_LinkMode(void); -static void BuildStartMenuActions_UnionRoom(void); -static void BuildStartMenuActions_SafariZone(void); -static void BuildStartMenuActions_BattlePike(void); -static void BuildStartMenuActions_BattlePyramid(void); -static void BuildStartMenuActions_MultiBattleRoom(void); -static void BuildStartMenuActions_Normal(void); -u8 StartMenu_PlayerName(void); - extern bool32 is_c1_link_related_active(void); extern bool32 InUnionRoom(void); extern bool8 InBattlePike(void); @@ -42,12 +35,91 @@ extern bool8 InMultiBattleRoom(void); extern void sub_81973FC(u8 windowId, u8 a1); extern void sub_8198070(u8 windowId, u8 a1); +// this file's functions +static void BuildStartMenuActions_LinkMode(void); +static void BuildStartMenuActions_UnionRoom(void); +static void BuildStartMenuActions_SafariZone(void); +static void BuildStartMenuActions_BattlePike(void); +static void BuildStartMenuActions_BattlePyramid(void); +static void BuildStartMenuActions_MultiBattleRoom(void); +static void BuildStartMenuActions_Normal(void); +bool8 StartMenu_Pokedex(void); +bool8 StartMenu_Pokemon(void); +bool8 StartMenu_Bag(void); +bool8 StartMenu_PokeNav(void); +bool8 StartMenu_PlayerName(void); +bool8 StartMenu_Save(void); +bool8 StartMenu_Option(void); +bool8 StartMenu_Exit(void); +bool8 StartMenu_SafariZoneRetire(void); +bool8 StartMenu_LinkModePlayerName(void); +bool8 StartMenu_BattlePyramidRetire(void); +bool8 StartMenu_BattlePyramidBag(void); + +// EWRAM vars EWRAM_DATA u8 sSafariBallsWindowId = 0; EWRAM_DATA u8 sBattlePyramidFloorWindowId = 0; EWRAM_DATA u8 sStartMenuCursorPos = 0; EWRAM_DATA u8 sNumStartMenuActions = 0; EWRAM_DATA u8 sCurrentStartMenuActions[9] = {0}; +// const rom data +static const struct WindowTemplate gSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; + +static const u8* const sPyramindFloorNames[] = +{ + gText_Floor1, + gText_Floor2, + gText_Floor3, + gText_Floor4, + gText_Floor5, + gText_Floor6, + gText_Floor7, + gText_Peak +}; + +static const struct WindowTemplate gPyramidFloorWindowTemplate_2 = {0, 1, 1, 0xA, 4, 0xF, 8}; +static const struct WindowTemplate gPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC, 4, 0xF, 8}; + +const struct MenuAction sStartMenuItems[] = +{ + {gText_MenuPokedex, {.u8_void = StartMenu_Pokedex}}, + {gText_MenuPokemon, {.u8_void = StartMenu_Pokemon}}, + {gText_MenuBag, {.u8_void = StartMenu_Bag}}, + {gText_MenuPokenav, {.u8_void = StartMenu_PokeNav}}, + {gText_MenuPlayer, {.u8_void = StartMenu_PlayerName}}, + {gText_MenuSave, {.u8_void = StartMenu_Save}}, + {gText_MenuOption, {.u8_void = StartMenu_Option}}, + {gText_MenuExit, {.u8_void = StartMenu_Exit}}, + {gText_MenuRetire, {.u8_void = StartMenu_SafariZoneRetire}}, + {gText_MenuPlayer, {.u8_void = StartMenu_LinkModePlayerName}}, + {gText_MenuRest, {.u8_void = StartMenu_Save}}, + {gText_MenuRetire, {.u8_void = StartMenu_BattlePyramidRetire}}, + {gText_MenuBag, {.u8_void = StartMenu_BattlePyramidBag}} +}; + +const struct BgTemplate gUnknown_085105A8[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + } +}; + +const struct WindowTemplate gUnknown_085105AC[] = +{ + {0, 2, 0xF, 0x1A, 4, 0xF, 0x194}, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gUnknown_085105BC = {0, 1, 1, 0xE, 0xA, 0xF, 8}; + +// code void BuildStartMenuActions(void) { sNumStartMenuActions = 0; @@ -148,11 +220,6 @@ static void BuildStartMenuActions_MultiBattleRoom(void) AddStartMenuAction(MENU_ACTION_EXIT); } -extern const struct WindowTemplate gSafariBallsWindowTemplate; -extern const struct WindowTemplate gPyramidFloorWindowTemplate_1; -extern const struct WindowTemplate gPyramidFloorWindowTemplate_2; -extern const u8 gText_SafariBallStock[]; - void DisplaySafariBallsWindow(void) { sSafariBallsWindowId = AddWindow(&gSafariBallsWindowTemplate); @@ -164,9 +231,6 @@ void DisplaySafariBallsWindow(void) CopyWindowToVram(sSafariBallsWindowId, 2); } -extern const u8* const gUnknown_08510510[]; -extern const u8 gText_BattlePyramidFloor[]; - void DisplayPyramidFloorWindow(void) { // TODO: fix location @@ -176,7 +240,7 @@ void DisplayPyramidFloorWindow(void) sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_2); PutWindowTilemap(sBattlePyramidFloorWindowId); sub_81973FC(sBattlePyramidFloorWindowId, 0); - StringCopy(gStringVar1, gUnknown_08510510[gSaveBlock2Ptr->field_CAA[4]]); + StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]); StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor); PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sBattlePyramidFloorWindowId, 2); @@ -197,8 +261,6 @@ void RemoveExtraStartMenuWindows(void) } } -extern const struct MenuAction sStartMenuItems[]; - /* // Prints n menu items starting at *index static bool32 PrintStartMenuItemsMultistep(s16 *index, u32 n) diff --git a/sym_ewram.txt b/sym_ewram.txt index 82717b1a1..4af63595e 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1118,10 +1118,10 @@ gUnknown_0203AB40: @ 203AB40 .include "src/pokeblock.o" -gUnknown_0203AB54: @ 203AB54 +gBikeCyclingChallenge: @ 203AB54 .space 0x1 -gUnknown_0203AB55: @ 203AB55 +gBikeCollisions: @ 203AB55 .space 0x3 gUnknown_0203AB58: @ 203AB58 |