diff options
247 files changed, 5979 insertions, 12186 deletions
diff --git a/asm/battle_8.s b/asm/battle_8.s deleted file mode 100644 index 366c503f2..000000000 --- a/asm/battle_8.s +++ /dev/null @@ -1,5222 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start OpponentHandleGetAttributes -OpponentHandleGetAttributes: @ 8033524 - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _08033550 @ =gBattleBufferA - ldr r0, _08033554 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0803355C - ldr r0, _08033558 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl sub_8033598 - adds r6, r0, 0 - b _0803357E - .align 2, 0 -_08033550: .4byte gBattleBufferA -_08033554: .4byte gActiveBank -_08033558: .4byte gBattlePartyID -_0803355C: - ldrb r4, [r1] - movs r5, 0 -_08033560: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08033576 - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl sub_8033598 - adds r6, r0 -_08033576: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _08033560 -_0803357E: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl OpponentBufferExecCompleted - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end OpponentHandleGetAttributes - - thumb_func_start sub_8033598 -sub_8033598: @ 8033598 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x90 - adds r7, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r2, _080335CC @ =gBattleBufferA - ldr r3, _080335D0 @ =gActiveBank - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _080335C2 - bl _08033D2E -_080335C2: - lsls r0, 2 - ldr r1, _080335D4 @ =_080335D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080335CC: .4byte gBattleBufferA -_080335D0: .4byte gActiveBank -_080335D4: .4byte _080335D8 - .align 2, 0 -_080335D8: - .4byte _080336C8 - .4byte _080338EC - .4byte _080338FC - .4byte _0803390C - .4byte _08033974 - .4byte _08033974 - .4byte _08033974 - .4byte _08033974 - .4byte _08033990 - .4byte _080339CC - .4byte _080339CC - .4byte _080339CC - .4byte _080339CC - .4byte _08033D2E - .4byte _08033D2E - .4byte _08033D2E - .4byte _08033D2E - .4byte _080339E8 - .4byte _080339F8 - .4byte _08033A28 - .4byte _08033A38 - .4byte _08033A48 - .4byte _08033A58 - .4byte _08033A68 - .4byte _08033A78 - .4byte _08033A88 - .4byte _08033A98 - .4byte _08033AA8 - .4byte _08033AB8 - .4byte _08033AC8 - .4byte _08033AD8 - .4byte _08033AE8 - .4byte _08033B38 - .4byte _08033B48 - .4byte _08033B58 - .4byte _08033B68 - .4byte _08033B78 - .4byte _08033B88 - .4byte _08033B98 - .4byte _08033BA8 - .4byte _08033BB8 - .4byte _08033BEC - .4byte _08033BFC - .4byte _08033C0C - .4byte _08033C1C - .4byte _08033C2C - .4byte _08033C3C - .4byte _08033C4C - .4byte _08033C5C - .4byte _08033C7C - .4byte _08033C8C - .4byte _08033C9C - .4byte _08033CAC - .4byte _08033CBC - .4byte _08033CCC - .4byte _08033CDC - .4byte _08033CEC - .4byte _08033CFC - .4byte _08033D0C - .4byte _08033D1C -_080336C8: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080338DC @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2E] - movs r6, 0 - add r0, sp, 0x24 - mov r9, r0 - movs r1, 0x3B - add r1, sp - mov r10, r1 - mov r2, sp - adds r2, 0x2B - str r2, [sp, 0x80] - mov r0, sp - adds r0, 0x2A - str r0, [sp, 0x7C] - mov r1, sp - adds r1, 0x68 - str r1, [sp, 0x8C] - adds r2, 0x5 - str r2, [sp, 0x84] - adds r0, 0x12 - str r0, [sp, 0x88] - mov r8, r4 - add r4, sp, 0xC -_08033714: - adds r1, r6, 0 - adds r1, 0xD - mov r0, r8 - bl GetMonData - strh r0, [r4] - adds r1, r6, 0 - adds r1, 0x11 - mov r0, r8 - bl GetMonData - mov r2, r9 - adds r1, r2, r6 - strb r0, [r1] - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08033714 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080338DC @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - mov r1, r10 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - ldr r2, [sp, 0x80] - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x19 - bl GetMonData - str r0, [sp, 0x44] - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - mov r3, sp - movs r5, 0x1F - ands r0, r5 - ldrb r2, [r3, 0x14] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - mov r3, sp - movs r6, 0x1F - ands r0, r6 - lsls r0, 5 - ldrh r2, [r3, 0x14] - ldr r1, _080338E0 @ =0xfffffc1f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x14] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 2 - ldrb r2, [r3, 0x15] - movs r1, 0x7D - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x15] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - movs r1, 0x1F - ands r1, r0 - lsls r1, 15 - ldr r0, [sp, 0x14] - ldr r2, _080338E4 @ =0xfff07fff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x14] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - mov r3, sp - ands r0, r6 - lsls r0, 4 - ldrh r2, [r3, 0x16] - ldr r1, _080338E8 @ =0xfffffe0f - ands r1, r2 - orrs r1, r0 - strh r1, [r3, 0x16] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - mov r3, sp - ands r0, r5 - lsls r0, 1 - ldrb r2, [r3, 0x17] - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x48] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - str r0, [sp, 0x4C] - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - ldr r1, [sp, 0x7C] - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - mov r1, sp - strh r0, [r1, 0x28] - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2C] - adds r0, r4, 0 - movs r1, 0x3B - bl GetMonData - mov r1, sp - strh r0, [r1, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - bl GetMonData - mov r1, sp - strh r0, [r1, 0x4] - adds r0, r4, 0 - movs r1, 0x3D - bl GetMonData - mov r1, sp - strh r0, [r1, 0x6] - adds r0, r4, 0 - movs r1, 0x3E - bl GetMonData - mov r1, sp - strh r0, [r1, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - bl GetMonData - mov r1, sp - strh r0, [r1, 0xA] - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - mov r3, sp - movs r1, 0x1 - ands r0, r1 - lsls r0, 6 - ldrb r2, [r3, 0x17] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - mov r3, sp - lsls r0, 7 - ldrb r2, [r3, 0x17] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x17] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x54] - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, [sp, 0x8C] - bl GetMonData - ldr r0, [sp, 0x84] - ldr r1, [sp, 0x8C] - bl StringCopy10 - adds r0, r4, 0 - movs r1, 0x7 - ldr r2, [sp, 0x88] - bl GetMonData - mov r2, sp - movs r6, 0 -_080338CC: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _080338CC - b _08033D2E - .align 2, 0 -_080338DC: .4byte gEnemyParty -_080338E0: .4byte 0xfffffc1f -_080338E4: .4byte 0xfff07fff -_080338E8: .4byte 0xfffffe0f -_080338EC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080338F8 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - b _08033C66 - .align 2, 0 -_080338F8: .4byte gEnemyParty -_080338FC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033908 @ =gEnemyParty - adds r0, r1 - movs r1, 0xC - b _08033C66 - .align 2, 0 -_08033908: .4byte gEnemyParty -_0803390C: - movs r6, 0 - add r2, sp, 0x58 - mov r9, r2 - add r0, sp, 0x60 - mov r10, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08033970 @ =gEnemyParty - adds r4, r1, r0 - mov r8, r9 -_08033922: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - mov r1, r8 - strh r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r4, 0 - bl GetMonData - mov r2, r10 - adds r1, r2, r6 - strb r0, [r1] - movs r0, 0x2 - add r8, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _08033922 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033970 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_08033960: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _08033960 - b _08033D2E - .align 2, 0 -_08033970: .4byte gEnemyParty -_08033974: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803398C @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _08033C66 - .align 2, 0 -_0803398C: .4byte gEnemyParty -_08033990: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _080339C8 @ =gEnemyParty - mov r8, r2 -_0803399C: - adds r1, r6, 0 - adds r1, 0x11 - mov r2, r8 - adds r0, r4, r2 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - cmp r6, 0x3 - ble _0803399C - movs r0, 0x64 - muls r0, r5 - ldr r1, _080339C8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _08033D2E - .align 2, 0 -_080339C8: .4byte gEnemyParty -_080339CC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080339E4 @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _08033D26 - .align 2, 0 -_080339E4: .4byte gEnemyParty -_080339E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080339F4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1 - b _08033A02 - .align 2, 0 -_080339F4: .4byte gEnemyParty -_080339F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A24 @ =gEnemyParty - adds r0, r1 - movs r1, 0x19 -_08033A02: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - movs r6, 0x3 - b _08033D2E - .align 2, 0 -_08033A24: .4byte gEnemyParty -_08033A28: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A34 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1A - b _08033D26 - .align 2, 0 -_08033A34: .4byte gEnemyParty -_08033A38: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A44 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1B - b _08033D26 - .align 2, 0 -_08033A44: .4byte gEnemyParty -_08033A48: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A54 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1C - b _08033D26 - .align 2, 0 -_08033A54: .4byte gEnemyParty -_08033A58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A64 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1D - b _08033D26 - .align 2, 0 -_08033A64: .4byte gEnemyParty -_08033A68: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A74 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1E - b _08033D26 - .align 2, 0 -_08033A74: .4byte gEnemyParty -_08033A78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A84 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1F - b _08033D26 - .align 2, 0 -_08033A84: .4byte gEnemyParty -_08033A88: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033A94 @ =gEnemyParty - adds r0, r1 - movs r1, 0x20 - b _08033D26 - .align 2, 0 -_08033A94: .4byte gEnemyParty -_08033A98: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AA4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x22 - b _08033D26 - .align 2, 0 -_08033AA4: .4byte gEnemyParty -_08033AA8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AB4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x23 - b _08033D26 - .align 2, 0 -_08033AB4: .4byte gEnemyParty -_08033AB8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AC4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x24 - b _08033D26 - .align 2, 0 -_08033AC4: .4byte gEnemyParty -_08033AC8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AD4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x25 - b _08033D26 - .align 2, 0 -_08033AD4: .4byte gEnemyParty -_08033AD8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033AE4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x26 - b _08033D26 - .align 2, 0 -_08033AE4: .4byte gEnemyParty -_08033AE8: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08033B34 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x27 - bl GetMonData - strb r0, [r7] - adds r0, r4, 0 - movs r1, 0x28 - bl GetMonData - strb r0, [r7, 0x1] - adds r0, r4, 0 - movs r1, 0x29 - bl GetMonData - strb r0, [r7, 0x2] - adds r0, r4, 0 - movs r1, 0x2A - bl GetMonData - strb r0, [r7, 0x3] - adds r0, r4, 0 - movs r1, 0x2B - bl GetMonData - strb r0, [r7, 0x4] - adds r0, r4, 0 - movs r1, 0x2C - bl GetMonData - strb r0, [r7, 0x5] - movs r6, 0x6 - b _08033D2E - .align 2, 0 -_08033B34: .4byte gEnemyParty -_08033B38: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B44 @ =gEnemyParty - adds r0, r1 - movs r1, 0x27 - b _08033D26 - .align 2, 0 -_08033B44: .4byte gEnemyParty -_08033B48: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B54 @ =gEnemyParty - adds r0, r1 - movs r1, 0x28 - b _08033D26 - .align 2, 0 -_08033B54: .4byte gEnemyParty -_08033B58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B64 @ =gEnemyParty - adds r0, r1 - movs r1, 0x29 - b _08033D26 - .align 2, 0 -_08033B64: .4byte gEnemyParty -_08033B68: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B74 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2A - b _08033D26 - .align 2, 0 -_08033B74: .4byte gEnemyParty -_08033B78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B84 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2B - b _08033D26 - .align 2, 0 -_08033B84: .4byte gEnemyParty -_08033B88: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033B94 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - b _08033D26 - .align 2, 0 -_08033B94: .4byte gEnemyParty -_08033B98: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033BA4 @ =gEnemyParty - adds r0, r1 - movs r1, 0 - b _08033BC2 - .align 2, 0 -_08033BA4: .4byte gEnemyParty -_08033BA8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033BB4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x9 - b _08033C66 - .align 2, 0 -_08033BB4: .4byte gEnemyParty -_08033BB8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033BE8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x37 -_08033BC2: - bl GetMonData - adds r1, r0, 0 - strb r1, [r7] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r7, 0x2] - lsrs r0, r1, 24 - strb r0, [r7, 0x3] - movs r6, 0x4 - b _08033D2E - .align 2, 0 -_08033BE8: .4byte gEnemyParty -_08033BEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033BF8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x38 - b _08033D26 - .align 2, 0 -_08033BF8: .4byte gEnemyParty -_08033BFC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C08 @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - b _08033C66 - .align 2, 0 -_08033C08: .4byte gEnemyParty -_08033C0C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C18 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - b _08033C66 - .align 2, 0 -_08033C18: .4byte gEnemyParty -_08033C1C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C28 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3B - b _08033C66 - .align 2, 0 -_08033C28: .4byte gEnemyParty -_08033C2C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C38 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3C - b _08033C66 - .align 2, 0 -_08033C38: .4byte gEnemyParty -_08033C3C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C48 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3D - b _08033C66 - .align 2, 0 -_08033C48: .4byte gEnemyParty -_08033C4C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C58 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3E - b _08033C66 - .align 2, 0 -_08033C58: .4byte gEnemyParty -_08033C5C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C78 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3F -_08033C66: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _08033D2E - .align 2, 0 -_08033C78: .4byte gEnemyParty -_08033C7C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C88 @ =gEnemyParty - adds r0, r1 - movs r1, 0x16 - b _08033D26 - .align 2, 0 -_08033C88: .4byte gEnemyParty -_08033C8C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033C98 @ =gEnemyParty - adds r0, r1 - movs r1, 0x17 - b _08033D26 - .align 2, 0 -_08033C98: .4byte gEnemyParty -_08033C9C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CA8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x18 - b _08033D26 - .align 2, 0 -_08033CA8: .4byte gEnemyParty -_08033CAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CB8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x21 - b _08033D26 - .align 2, 0 -_08033CB8: .4byte gEnemyParty -_08033CBC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CC8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2F - b _08033D26 - .align 2, 0 -_08033CC8: .4byte gEnemyParty -_08033CCC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CD8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x30 - b _08033D26 - .align 2, 0 -_08033CD8: .4byte gEnemyParty -_08033CDC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CE8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x32 - b _08033D26 - .align 2, 0 -_08033CE8: .4byte gEnemyParty -_08033CEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033CF8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x33 - b _08033D26 - .align 2, 0 -_08033CF8: .4byte gEnemyParty -_08033CFC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033D08 @ =gEnemyParty - adds r0, r1 - movs r1, 0x34 - b _08033D26 - .align 2, 0 -_08033D08: .4byte gEnemyParty -_08033D0C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033D18 @ =gEnemyParty - adds r0, r1 - movs r1, 0x35 - b _08033D26 - .align 2, 0 -_08033D18: .4byte gEnemyParty -_08033D1C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08033D40 @ =gEnemyParty - adds r0, r1 - movs r1, 0x36 -_08033D26: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_08033D2E: - adds r0, r6, 0 - add sp, 0x90 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08033D40: .4byte gEnemyParty - thumb_func_end sub_8033598 - - thumb_func_start dp01t_01_2_read_pokmon_data_slice -dp01t_01_2_read_pokmon_data_slice: @ 8033D44 - push {r4-r7,lr} - sub sp, 0x58 - ldr r2, _08033DBC @ =gBattlePartyID - ldr r5, _08033DC0 @ =gActiveBank - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - adds r4, r2, 0 - muls r4, r0 - ldr r3, _08033DC4 @ =gBattleBufferA - lsls r1, 9 - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r2, [r0] - ldr r0, _08033DC8 @ =gEnemyParty - adds r0, r2, r0 - adds r6, r4, r0 - mov r0, sp - adds r4, r0, r2 - movs r2, 0 - adds r0, r3, 0x2 - adds r1, r0 - adds r7, r5, 0 - mov r12, r3 - ldrb r1, [r1] - cmp r2, r1 - bcs _08033D9A - adds r3, r0, 0 -_08033D80: - adds r1, r4, r2 - adds r0, r6, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3 - ldrb r0, [r0] - cmp r2, r0 - bcc _08033D80 -_08033D9A: - ldrb r0, [r7] - lsls r0, 9 - mov r1, r12 - adds r1, 0x2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - adds r2, r4, 0 - bl dp01_build_cmdbuf_x1D_1D_numargs_varargs - bl OpponentBufferExecCompleted - add sp, 0x58 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08033DBC: .4byte gBattlePartyID -_08033DC0: .4byte gActiveBank -_08033DC4: .4byte gBattleBufferA -_08033DC8: .4byte gEnemyParty - thumb_func_end dp01t_01_2_read_pokmon_data_slice - - thumb_func_start OpponentHandleSetAttributes -OpponentHandleSetAttributes: @ 8033DCC - push {r4,r5,lr} - ldr r1, _08033DF0 @ =gBattleBufferA - ldr r0, _08033DF4 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _08033DFC - ldr r0, _08033DF8 @ =gBattlePartyID - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl sub_8033E24 - b _08033E1A - .align 2, 0 -_08033DF0: .4byte gBattleBufferA -_08033DF4: .4byte gActiveBank -_08033DF8: .4byte gBattlePartyID -_08033DFC: - ldrb r4, [r1] - movs r5, 0 -_08033E00: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08033E0E - adds r0, r5, 0 - bl sub_8033E24 -_08033E0E: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08033E00 -_08033E1A: - bl OpponentBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end OpponentHandleSetAttributes - - thumb_func_start sub_8033E24 -sub_8033E24: @ 8033E24 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x38 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r3, _08033E5C @ =gActiveBank - ldrb r0, [r3] - lsls r0, 9 - ldr r2, _08033E60 @ =gUnknown_02023A63 - adds r4, r0, r2 - adds r7, r4, 0 - subs r1, r2, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r6, r3, 0 - adds r3, r2, 0 - cmp r0, 0x3B - bls _08033E52 - bl _08034730 -_08033E52: - lsls r0, 2 - ldr r1, _08033E64 @ =_08033E68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033E5C: .4byte gActiveBank -_08033E60: .4byte gUnknown_02023A63 -_08033E64: .4byte _08033E68 - .align 2, 0 -_08033E68: - .4byte _08033F58 - .4byte _080340F0 - .4byte _0803410C - .4byte _08034128 - .4byte _0803417C - .4byte _0803417C - .4byte _0803417C - .4byte _0803417C - .4byte _0803419C - .4byte _08034204 - .4byte _08034204 - .4byte _08034204 - .4byte _08034204 - .4byte _08034730 - .4byte _08034730 - .4byte _08034730 - .4byte _08034730 - .4byte _0803422C - .4byte _08034248 - .4byte _08034264 - .4byte _08034280 - .4byte _0803429C - .4byte _080342B8 - .4byte _080342D4 - .4byte _080342F0 - .4byte _0803430C - .4byte _08034328 - .4byte _08034344 - .4byte _08034360 - .4byte _0803437C - .4byte _08034398 - .4byte _080343B4 - .4byte _08034428 - .4byte _08034444 - .4byte _08034460 - .4byte _0803447C - .4byte _08034498 - .4byte _080344B4 - .4byte _080344D0 - .4byte _080344EC - .4byte _08034508 - .4byte _08034524 - .4byte _08034540 - .4byte _0803455C - .4byte _08034578 - .4byte _08034594 - .4byte _080345B0 - .4byte _080345CC - .4byte _080345E8 - .4byte _08034604 - .4byte _08034620 - .4byte _0803463C - .4byte _08034658 - .4byte _08034674 - .4byte _08034690 - .4byte _080346AC - .4byte _080346C8 - .4byte _080346E4 - .4byte _08034700 - .4byte _0803471C -_08033F58: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080340EC @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - adds r2, r7, 0 - bl SetMonData - adds r2, r7, 0 - adds r2, 0x2E - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - movs r0, 0 - mov r8, r0 - movs r0, 0x3B - adds r0, r7 - mov r10, r0 - adds r0, r7, 0 - adds r0, 0x2B - str r0, [sp, 0x20] - adds r0, 0x19 - str r0, [sp, 0x28] - adds r0, 0x4 - str r0, [sp, 0x2C] - adds r0, 0x4 - str r0, [sp, 0x30] - subs r0, 0x22 - str r0, [sp, 0x1C] - subs r0, 0x2 - str r0, [sp, 0x18] - adds r0, 0x4 - str r0, [sp, 0x24] - adds r0, r7, 0x2 - str r0, [sp, 0x4] - adds r0, r7, 0x4 - str r0, [sp, 0x8] - adds r0, r7, 0x6 - str r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0x10] - adds r0, 0x2 - str r0, [sp, 0x14] - mov r9, r4 - adds r6, r7, 0 - adds r6, 0x24 - adds r4, r7, 0 - adds r4, 0xC -_08033FBE: - mov r1, r8 - adds r1, 0xD - mov r0, r9 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - mov r0, r9 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _08033FBE - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080340EC @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - mov r2, r10 - bl SetMonData - adds r0, r4, 0 - movs r1, 0x20 - ldr r2, [sp, 0x20] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x19 - ldr r2, [sp, 0x28] - bl SetMonData - ldrb r0, [r7, 0x14] - lsls r0, 27 - lsrs r0, 27 - mov r1, sp - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x27 - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r7, 0x14] - lsls r0, 22 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x28 - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r7, 0x15] - lsls r0, 25 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x29 - mov r2, sp - bl SetMonData - mov r1, sp - ldr r0, [r7, 0x14] - lsls r0, 12 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2A - mov r2, sp - bl SetMonData - mov r1, sp - ldrh r0, [r7, 0x16] - lsls r0, 23 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2B - mov r2, sp - bl SetMonData - mov r1, sp - ldrb r0, [r7, 0x17] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2C - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0 - ldr r2, [sp, 0x2C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x37 - ldr r2, [sp, 0x30] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x38 - ldr r2, [sp, 0x1C] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x39 - ldr r2, [sp, 0x18] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3A - ldr r2, [sp, 0x24] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3B - ldr r2, [sp, 0x4] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3C - ldr r2, [sp, 0x8] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3D - ldr r2, [sp, 0xC] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3E - ldr r2, [sp, 0x10] - bl SetMonData - adds r0, r4, 0 - movs r1, 0x3F - ldr r2, [sp, 0x14] - bl SetMonData - b _08034730 - .align 2, 0 -_080340EC: .4byte gEnemyParty -_080340F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034108 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xB - bl SetMonData - b _08034730 - .align 2, 0 -_08034108: .4byte gEnemyParty -_0803410C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034124 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xC - bl SetMonData - b _08034730 - .align 2, 0 -_08034124: .4byte gEnemyParty -_08034128: - movs r0, 0 - mov r8, r0 - movs r0, 0xC - adds r0, r4 - mov r9, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08034178 @ =gEnemyParty - adds r7, r1, r0 - adds r6, r4, 0 - adds r6, 0x8 -_08034140: - mov r1, r8 - adds r1, 0xD - adds r0, r7, 0 - adds r2, r4, 0 - bl SetMonData - mov r1, r8 - adds r1, 0x11 - adds r0, r7, 0 - adds r2, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _08034140 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034178 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _08034730 - .align 2, 0 -_08034178: .4byte gEnemyParty -_0803417C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034194 @ =gEnemyParty - adds r0, r1 - ldr r3, _08034198 @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _0803421A - .align 2, 0 -_08034194: .4byte gEnemyParty -_08034198: .4byte gBattleBufferA -_0803419C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08034200 @ =gEnemyParty - adds r4, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - adds r0, r4, 0 - movs r1, 0x11 - str r3, [sp, 0x34] - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x12 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x13 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x14 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl SetMonData - b _08034730 - .align 2, 0 -_08034200: .4byte gEnemyParty -_08034204: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034224 @ =gEnemyParty - adds r0, r1 - ldr r3, _08034228 @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_0803421A: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _08034730 - .align 2, 0 -_08034224: .4byte gEnemyParty -_08034228: .4byte gBattleBufferA -_0803422C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034244 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1 - bl SetMonData - b _08034730 - .align 2, 0 -_08034244: .4byte gEnemyParty -_08034248: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034260 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x19 - bl SetMonData - b _08034730 - .align 2, 0 -_08034260: .4byte gEnemyParty -_08034264: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803427C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1A - bl SetMonData - b _08034730 - .align 2, 0 -_0803427C: .4byte gEnemyParty -_08034280: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034298 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1B - bl SetMonData - b _08034730 - .align 2, 0 -_08034298: .4byte gEnemyParty -_0803429C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080342B4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1C - bl SetMonData - b _08034730 - .align 2, 0 -_080342B4: .4byte gEnemyParty -_080342B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080342D0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1D - bl SetMonData - b _08034730 - .align 2, 0 -_080342D0: .4byte gEnemyParty -_080342D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080342EC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1E - bl SetMonData - b _08034730 - .align 2, 0 -_080342EC: .4byte gEnemyParty -_080342F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034308 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1F - bl SetMonData - b _08034730 - .align 2, 0 -_08034308: .4byte gEnemyParty -_0803430C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034324 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x20 - bl SetMonData - b _08034730 - .align 2, 0 -_08034324: .4byte gEnemyParty -_08034328: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034340 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x22 - bl SetMonData - b _08034730 - .align 2, 0 -_08034340: .4byte gEnemyParty -_08034344: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803435C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x23 - bl SetMonData - b _08034730 - .align 2, 0 -_0803435C: .4byte gEnemyParty -_08034360: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034378 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x24 - bl SetMonData - b _08034730 - .align 2, 0 -_08034378: .4byte gEnemyParty -_0803437C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034394 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x25 - bl SetMonData - b _08034730 - .align 2, 0 -_08034394: .4byte gEnemyParty -_08034398: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080343B0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x26 - bl SetMonData - b _08034730 - .align 2, 0 -_080343B0: .4byte gEnemyParty -_080343B4: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08034424 @ =gEnemyParty - adds r4, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - adds r0, r4, 0 - movs r1, 0x27 - str r3, [sp, 0x34] - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x28 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x29 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2A - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2B - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x5 - adds r2, r0 - adds r0, r4, 0 - b _080344C2 - .align 2, 0 -_08034424: .4byte gEnemyParty -_08034428: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034440 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x27 - bl SetMonData - b _08034730 - .align 2, 0 -_08034440: .4byte gEnemyParty -_08034444: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803445C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x28 - bl SetMonData - b _08034730 - .align 2, 0 -_0803445C: .4byte gEnemyParty -_08034460: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034478 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x29 - bl SetMonData - b _08034730 - .align 2, 0 -_08034478: .4byte gEnemyParty -_0803447C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034494 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2A - bl SetMonData - b _08034730 - .align 2, 0 -_08034494: .4byte gEnemyParty -_08034498: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080344B0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2B - bl SetMonData - b _08034730 - .align 2, 0 -_080344B0: .4byte gEnemyParty -_080344B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080344CC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 -_080344C2: - movs r1, 0x2C - bl SetMonData - b _08034730 - .align 2, 0 -_080344CC: .4byte gEnemyParty -_080344D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080344E8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0 - bl SetMonData - b _08034730 - .align 2, 0 -_080344E8: .4byte gEnemyParty -_080344EC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034504 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x9 - bl SetMonData - b _08034730 - .align 2, 0 -_08034504: .4byte gEnemyParty -_08034508: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034520 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x37 - bl SetMonData - b _08034730 - .align 2, 0 -_08034520: .4byte gEnemyParty -_08034524: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803453C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x38 - bl SetMonData - b _08034730 - .align 2, 0 -_0803453C: .4byte gEnemyParty -_08034540: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034558 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x39 - bl SetMonData - b _08034730 - .align 2, 0 -_08034558: .4byte gEnemyParty -_0803455C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034574 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3A - bl SetMonData - b _08034730 - .align 2, 0 -_08034574: .4byte gEnemyParty -_08034578: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034590 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3B - bl SetMonData - b _08034730 - .align 2, 0 -_08034590: .4byte gEnemyParty -_08034594: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080345AC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3C - bl SetMonData - b _08034730 - .align 2, 0 -_080345AC: .4byte gEnemyParty -_080345B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080345C8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3D - bl SetMonData - b _08034730 - .align 2, 0 -_080345C8: .4byte gEnemyParty -_080345CC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080345E4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3E - bl SetMonData - b _08034730 - .align 2, 0 -_080345E4: .4byte gEnemyParty -_080345E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034600 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3F - bl SetMonData - b _08034730 - .align 2, 0 -_08034600: .4byte gEnemyParty -_08034604: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803461C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x16 - bl SetMonData - b _08034730 - .align 2, 0 -_0803461C: .4byte gEnemyParty -_08034620: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034638 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x17 - bl SetMonData - b _08034730 - .align 2, 0 -_08034638: .4byte gEnemyParty -_0803463C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034654 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x18 - bl SetMonData - b _08034730 - .align 2, 0 -_08034654: .4byte gEnemyParty -_08034658: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034670 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x21 - bl SetMonData - b _08034730 - .align 2, 0 -_08034670: .4byte gEnemyParty -_08034674: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803468C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2F - bl SetMonData - b _08034730 - .align 2, 0 -_0803468C: .4byte gEnemyParty -_08034690: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080346A8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x30 - bl SetMonData - b _08034730 - .align 2, 0 -_080346A8: .4byte gEnemyParty -_080346AC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080346C4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x32 - bl SetMonData - b _08034730 - .align 2, 0 -_080346C4: .4byte gEnemyParty -_080346C8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080346E0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x33 - bl SetMonData - b _08034730 - .align 2, 0 -_080346E0: .4byte gEnemyParty -_080346E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080346FC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x34 - bl SetMonData - b _08034730 - .align 2, 0 -_080346FC: .4byte gEnemyParty -_08034700: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034718 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x35 - bl SetMonData - b _08034730 - .align 2, 0 -_08034718: .4byte gEnemyParty -_0803471C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08034740 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x36 - bl SetMonData -_08034730: - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034740: .4byte gEnemyParty - thumb_func_end sub_8033E24 - - thumb_func_start sub_8034744 -sub_8034744: @ 8034744 - push {r4-r7,lr} - ldr r1, _080347A8 @ =gBattlePartyID - ldr r7, _080347AC @ =gActiveBank - ldrb r2, [r7] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - adds r3, r1, 0 - muls r3, r0 - ldr r4, _080347B0 @ =gBattleBufferA - lsls r2, 9 - adds r0, r4, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r1, _080347B4 @ =gEnemyParty - adds r0, r1 - adds r5, r3, r0 - movs r3, 0 - adds r0, r4, 0x2 - adds r2, r0 - ldrb r2, [r2] - cmp r3, r2 - bcs _0803479C - adds r6, r4, 0 - adds r2, r7, 0 - adds r4, r0, 0 -_0803477A: - adds r1, r5, r3 - ldrb r0, [r2] - lsls r0, 9 - adds r0, 0x3 - adds r0, r3, r0 - adds r0, r6 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r2] - lsls r0, 9 - adds r0, r4 - ldrb r0, [r0] - cmp r3, r0 - bcc _0803477A -_0803479C: - bl OpponentBufferExecCompleted - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080347A8: .4byte gBattlePartyID -_080347AC: .4byte gActiveBank -_080347B0: .4byte gBattleBufferA -_080347B4: .4byte gEnemyParty - thumb_func_end sub_8034744 - - thumb_func_start OpponentHandleLoadPokeSprite -OpponentHandleLoadPokeSprite: @ 80347B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r6, _080348E8 @ =gActiveBank - ldrb r0, [r6] - lsls r0, 1 - ldr r1, _080348EC @ =gBattlePartyID - adds r0, r1 - ldrh r0, [r0] - movs r7, 0x64 - muls r0, r7 - ldr r2, _080348F0 @ =gEnemyParty - mov r10, r2 - add r0, r10 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldrb r1, [r6] - lsls r0, r1, 1 - ldr r2, _080348EC @ =gBattlePartyID - adds r0, r2 - ldrh r0, [r0] - muls r0, r7 - add r0, r10 - bl sub_8031794 - ldrb r0, [r6] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl GetMonSpriteTemplate_803C56C - ldr r0, _080348F4 @ =gUnknown_02024E8C - mov r9, r0 - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8077ABC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r6] - bl sub_8077F68 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r6] - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r9 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _080348F8 @ =gObjectBankIDs - ldrb r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r5, _080348FC @ =gSprites - ldrb r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08034900 @ =0x0000ff10 - strh r1, [r0, 0x24] - ldrb r2, [r6] - adds r0, r2, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x2E] - ldrb r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x32] - ldrb r3, [r6] - adds r0, r3, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r2, [r6] - adds r4, r2, r4 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08034904 @ =gBattleMonForms - adds r2, r1 - ldrb r1, [r2] - bl StartSpriteAnim - ldrb r4, [r6] - lsls r0, r4, 1 - ldr r2, _080348EC @ =gBattlePartyID - adds r0, r2 - ldrh r0, [r0] - muls r0, r7 - add r0, r10 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8032984 - ldr r1, _08034908 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803490C @ =sub_8033018 - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080348E8: .4byte gActiveBank -_080348EC: .4byte gBattlePartyID -_080348F0: .4byte gEnemyParty -_080348F4: .4byte gUnknown_02024E8C -_080348F8: .4byte gObjectBankIDs -_080348FC: .4byte gSprites -_08034900: .4byte 0x0000ff10 -_08034904: .4byte gBattleMonForms -_08034908: .4byte gBattleBankFunc -_0803490C: .4byte sub_8033018 - thumb_func_end OpponentHandleLoadPokeSprite - - thumb_func_start OpponentHandleSendOutPoke -OpponentHandleSendOutPoke: @ 8034910 - push {r4,lr} - ldr r1, _08034948 @ =gBattlePartyID - ldr r4, _0803494C @ =gActiveBank - ldrb r0, [r4] - lsls r2, r0, 1 - adds r2, r1 - ldr r3, _08034950 @ =gBattleBufferA - lsls r0, 9 - adds r1, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2] - ldrb r0, [r4] - lsls r1, r0, 9 - adds r3, 0x2 - adds r1, r3 - ldrb r1, [r1] - bl sub_803495C - ldr r1, _08034954 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034958 @ =sub_80333D4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034948: .4byte gBattlePartyID -_0803494C: .4byte gActiveBank -_08034950: .4byte gBattleBufferA -_08034954: .4byte gBattleBankFunc -_08034958: .4byte sub_80333D4 - thumb_func_end OpponentHandleSendOutPoke - - thumb_func_start sub_803495C -sub_803495C: @ 803495C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8032AA8 - ldr r0, _08034AB8 @ =gBattlePartyID - lsls r4, r6, 1 - adds r4, r0 - ldr r0, _08034ABC @ =gBattleBufferA - lsls r1, r6, 9 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0x64 - mov r9, r1 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - ldr r5, _08034AC0 @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _08034AC4 @ =sub_80312F0 - bl CreateInvisibleSpriteWithCallback - ldr r1, _08034AC8 @ =gUnknown_0300434C - mov r10, r1 - add r10, r6 - mov r1, r10 - strb r0, [r1] - ldrh r0, [r4] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - adds r0, r5 - adds r1, r6, 0 - bl sub_8031794 - adds r0, r6, 0 - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl GetMonSpriteTemplate_803C56C - ldr r0, _08034ACC @ =gUnknown_02024E8C - mov r9, r0 - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8077ABC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - bl sub_8077F68 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r9 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _08034AD0 @ =gObjectBankIDs - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _08034AD4 @ =gSprites - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r6, [r0, 0x2E] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x32] - mov r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r4] - strh r1, [r0, 0x30] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, r6, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08034AD8 @ =gBattleMonForms - adds r6, r1 - ldrb r1, [r6] - bl StartSpriteAnim - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08034ADC @ =SpriteCallbackDummy - str r1, [r0] - movs r0, 0 - movs r1, 0xFE - bl sub_8046400 - mov r1, r10 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x2E] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08034AB8: .4byte gBattlePartyID -_08034ABC: .4byte gBattleBufferA -_08034AC0: .4byte gEnemyParty -_08034AC4: .4byte sub_80312F0 -_08034AC8: .4byte gUnknown_0300434C -_08034ACC: .4byte gUnknown_02024E8C -_08034AD0: .4byte gObjectBankIDs -_08034AD4: .4byte gSprites -_08034AD8: .4byte gBattleMonForms -_08034ADC: .4byte SpriteCallbackDummy - thumb_func_end sub_803495C - - thumb_func_start OpponentHandleReturnPokeToBall -OpponentHandleReturnPokeToBall: @ 8034AE0 - push {r4-r6,lr} - ldr r1, _08034B10 @ =gBattleBufferA - ldr r6, _08034B14 @ =gActiveBank - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _08034B24 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _08034B18 @ =0x02017810 - adds r0, r1 - strb r3, [r0, 0x4] - ldr r1, _08034B1C @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034B20 @ =sub_8034B74 - str r1, [r0] - b _08034B60 - .align 2, 0 -_08034B10: .4byte gBattleBufferA -_08034B14: .4byte gActiveBank -_08034B18: .4byte 0x02017810 -_08034B1C: .4byte gBattleBankFunc -_08034B20: .4byte sub_8034B74 -_08034B24: - ldr r5, _08034B68 @ =gObjectBankIDs - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08034B6C @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldrb r0, [r6] - bl sub_8032A08 - ldr r1, _08034B70 @ =gHealthboxIDs - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl sub_8043DB0 - bl OpponentBufferExecCompleted -_08034B60: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08034B68: .4byte gObjectBankIDs -_08034B6C: .4byte gSprites -_08034B70: .4byte gHealthboxIDs - thumb_func_end OpponentHandleReturnPokeToBall - - thumb_func_start sub_8034B74 -sub_8034B74: @ 8034B74 - push {r4,r5,lr} - ldr r5, _08034B90 @ =gActiveBank - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _08034B94 @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _08034B98 - cmp r0, 0x1 - beq _08034BC4 - b _08034BEC - .align 2, 0 -_08034B90: .4byte gActiveBank -_08034B94: .4byte 0x02017810 -_08034B98: - lsls r0, r2, 2 - adds r1, r4, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08034BB4 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_08034BB4: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08034BEC -_08034BC4: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08034BEC - strb r0, [r3, 0x4] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x2 - bl move_anim_start_t4 - ldr r1, _08034BF4 @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034BF8 @ =sub_8033160 - str r1, [r0] -_08034BEC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034BF4: .4byte gBattleBankFunc -_08034BF8: .4byte sub_8033160 - thumb_func_end sub_8034B74 - - thumb_func_start OpponentHandleTrainerThrow -OpponentHandleTrainerThrow: @ 8034BFC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r3, _08034C18 @ =gTrainerBattleOpponent - ldrh r1, [r3] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _08034C1C - bl GetSecretBaseTrainerPicIndex - b _08034C42 - .align 2, 0 -_08034C18: .4byte gTrainerBattleOpponent -_08034C1C: - ldr r0, _08034C30 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08034C34 - bl get_trainer_class_pic_index - b _08034C42 - .align 2, 0 -_08034C30: .4byte gBattleTypeFlags -_08034C34: - movs r0, 0x80 - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - beq _08034C48 - bl sub_8135FBC -_08034C42: - lsls r0, 24 - lsrs r0, 24 - b _08034C56 -_08034C48: - ldr r2, _08034D88 @ =gTrainers - ldrh r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] -_08034C56: - mov r9, r0 - ldr r0, _08034D8C @ =gActiveBank - mov r8, r0 - ldrb r1, [r0] - mov r0, r9 - bl sub_8031A6C - mov r1, r8 - ldrb r0, [r1] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - bl GetMonSpriteTemplate_803C5A0 - ldr r5, _08034D90 @ =gUnknown_02024E8C - ldr r1, _08034D94 @ =gTrainerFrontPicCoords - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 14 - adds r4, r0 - asrs r4, 16 - mov r1, r8 - ldrb r0, [r1] - bl sub_8079E90 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - movs r1, 0xB0 - adds r2, r4, 0 - bl CreateSprite - ldr r5, _08034D98 @ =gObjectBankIDs - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - strb r0, [r1] - ldr r4, _08034D9C @ =gSprites - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08034DA0 @ =0x0000ff10 - strh r1, [r0, 0x24] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldr r0, _08034DA4 @ =gTrainerFrontPicPaletteTable - mov r1, r9 - lsls r6, r1, 3 - adds r0, r6, r0 - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r4 - lsls r0, 4 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x5] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r1, 0x38] - ldr r0, _08034DA8 @ =gTrainerFrontPicTable - adds r6, r0 - ldrh r0, [r6, 0x6] - bl GetSpriteTileStartByTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldr r2, _08034DAC @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _08034DB0 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r9 - strh r2, [r0, 0x6] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _08034DB4 @ =sub_80313A0 - str r1, [r0] - ldr r1, _08034DB8 @ =gBattleBankFunc - mov r2, r8 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034DBC @ =sub_8032B4C - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08034D88: .4byte gTrainers -_08034D8C: .4byte gActiveBank -_08034D90: .4byte gUnknown_02024E8C -_08034D94: .4byte gTrainerFrontPicCoords -_08034D98: .4byte gObjectBankIDs -_08034D9C: .4byte gSprites -_08034DA0: .4byte 0x0000ff10 -_08034DA4: .4byte gTrainerFrontPicPaletteTable -_08034DA8: .4byte gTrainerFrontPicTable -_08034DAC: .4byte 0x000003ff -_08034DB0: .4byte 0xfffffc00 -_08034DB4: .4byte sub_80313A0 -_08034DB8: .4byte gBattleBankFunc -_08034DBC: .4byte sub_8032B4C - thumb_func_end OpponentHandleTrainerThrow - - thumb_func_start OpponentHandleTrainerSlide -OpponentHandleTrainerSlide: @ 8034DC0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r3, _08034DDC @ =gTrainerBattleOpponent - ldrh r1, [r3] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _08034DE0 - bl GetSecretBaseTrainerPicIndex - b _08034E06 - .align 2, 0 -_08034DDC: .4byte gTrainerBattleOpponent -_08034DE0: - ldr r0, _08034DF4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08034DF8 - bl get_trainer_class_pic_index - b _08034E06 - .align 2, 0 -_08034DF4: .4byte gBattleTypeFlags -_08034DF8: - movs r0, 0x80 - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - beq _08034E0C - bl sub_8135FBC -_08034E06: - lsls r0, 24 - lsrs r0, 24 - b _08034E1A -_08034E0C: - ldr r2, _08034F4C @ =gTrainers - ldrh r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] -_08034E1A: - mov r9, r0 - ldr r0, _08034F50 @ =gActiveBank - mov r8, r0 - ldrb r1, [r0] - mov r0, r9 - bl sub_8031A6C - mov r1, r8 - ldrb r0, [r1] - bl GetBankIdentity - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - bl GetMonSpriteTemplate_803C5A0 - ldr r0, _08034F54 @ =gUnknown_02024E8C - ldr r2, _08034F58 @ =gTrainerFrontPicCoords - mov r3, r9 - lsls r1, r3, 2 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0x8 - subs r2, r1 - lsls r2, 18 - movs r1, 0xA0 - lsls r1, 14 - adds r2, r1 - asrs r2, 16 - movs r1, 0xB0 - movs r3, 0x1E - bl CreateSprite - ldr r5, _08034F5C @ =gObjectBankIDs - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - strb r0, [r1] - ldr r4, _08034F60 @ =gSprites - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x60 - strh r1, [r0, 0x24] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - adds r1, 0x20 - strh r1, [r0, 0x20] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08034F64 @ =0x0000fffe - strh r1, [r0, 0x2E] - ldr r0, _08034F68 @ =gTrainerFrontPicPaletteTable - mov r3, r9 - lsls r6, r3, 3 - adds r0, r6, r0 - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r4 - lsls r0, 4 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x5] - mov r3, r8 - ldrb r0, [r3] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r1, 0x38] - ldr r0, _08034F6C @ =gTrainerFrontPicTable - adds r6, r0 - ldrh r0, [r6, 0x6] - bl GetSpriteTileStartByTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldr r2, _08034F70 @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _08034F74 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - mov r3, r8 - ldrb r0, [r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r9 - strh r1, [r0, 0x6] - ldrb r0, [r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _08034F78 @ =sub_80313A0 - str r1, [r0] - ldr r1, _08034F7C @ =gBattleBankFunc - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r1, _08034F80 @ =sub_8032B84 - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08034F4C: .4byte gTrainers -_08034F50: .4byte gActiveBank -_08034F54: .4byte gUnknown_02024E8C -_08034F58: .4byte gTrainerFrontPicCoords -_08034F5C: .4byte gObjectBankIDs -_08034F60: .4byte gSprites -_08034F64: .4byte 0x0000fffe -_08034F68: .4byte gTrainerFrontPicPaletteTable -_08034F6C: .4byte gTrainerFrontPicTable -_08034F70: .4byte 0x000003ff -_08034F74: .4byte 0xfffffc00 -_08034F78: .4byte sub_80313A0 -_08034F7C: .4byte gBattleBankFunc -_08034F80: .4byte sub_8032B84 - thumb_func_end OpponentHandleTrainerSlide - - thumb_func_start OpponentHandleTrainerSlideBack -OpponentHandleTrainerSlideBack: @ 8034F84 - push {r4-r6,lr} - ldr r6, _08035014 @ =gObjectBankIDs - ldr r4, _08035018 @ =gActiveBank - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0803501C @ =gSprites - adds r0, r5 - bl oamt_add_pos2_onto_pos1 - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x23 - strh r1, [r0, 0x2E] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x8C - lsls r1, 1 - strh r1, [r0, 0x32] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0x36] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08035020 @ =sub_8078B34 - str r1, [r0] - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08035024 @ =SpriteCallbackDummy - bl oamt_set_x3A_32 - ldr r1, _08035028 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803502C @ =sub_8032BBC - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035014: .4byte gObjectBankIDs -_08035018: .4byte gActiveBank -_0803501C: .4byte gSprites -_08035020: .4byte sub_8078B34 -_08035024: .4byte SpriteCallbackDummy -_08035028: .4byte gBattleBankFunc -_0803502C: .4byte sub_8032BBC - thumb_func_end OpponentHandleTrainerSlideBack - - thumb_func_start sub_8035030 -sub_8035030: @ 8035030 - push {r4,r5,lr} - ldr r5, _08035074 @ =gActiveBank - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _08035078 @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - bne _0803507C - lsls r0, r2, 2 - adds r1, r4, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08035062 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_08035062: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x4] - adds r0, 0x1 - strb r0, [r1, 0x4] - b _080350B8 - .align 2, 0 -_08035074: .4byte gActiveBank -_08035078: .4byte 0x02017810 -_0803507C: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080350B8 - strb r0, [r3, 0x4] - movs r0, 0x10 - movs r1, 0x3F - bl PlaySE12WithPanning - ldr r2, _080350C0 @ =gSprites - ldr r1, _080350C4 @ =gObjectBankIDs - ldrb r0, [r5] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _080350C8 @ =sub_8010384 - str r1, [r0] - ldr r1, _080350CC @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080350D0 @ =sub_803311C - str r1, [r0] -_080350B8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080350C0: .4byte gSprites -_080350C4: .4byte gObjectBankIDs -_080350C8: .4byte sub_8010384 -_080350CC: .4byte gBattleBankFunc -_080350D0: .4byte sub_803311C - thumb_func_end sub_8035030 - - thumb_func_start sub_80350D4 -sub_80350D4: @ 80350D4 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80350D4 - - thumb_func_start sub_80350E0 -sub_80350E0: @ 80350E0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80350E0 - - thumb_func_start OpponentHandleBallThrow -OpponentHandleBallThrow: @ 80350EC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleBallThrow - - thumb_func_start OpponentHandlePause -OpponentHandlePause: @ 80350F8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandlePause - - thumb_func_start OpponentHandleMoveAnimation -OpponentHandleMoveAnimation: @ 8035104 - push {r4-r6,lr} - ldr r6, _080351E8 @ =gActiveBank - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - beq _08035116 - b _08035226 -_08035116: - ldr r0, _080351EC @ =gBattleBufferA - mov r12, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - mov r1, r12 - adds r1, 0x2 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - ldr r5, _080351F0 @ =gUnknown_0202F7C4 - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _080351F4 @ =gMovePowerMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x4 - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0x5 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 8 - orrs r3, r1 - strh r3, [r4] - ldr r4, _080351F8 @ =gMoveDmgMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x6 - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0x7 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 8 - orrs r3, r1 - mov r1, r12 - adds r1, 0x8 - adds r1, r2, r1 - ldrb r1, [r1] - lsls r1, 16 - orrs r3, r1 - mov r1, r12 - adds r1, 0x9 - adds r2, r1 - ldrb r1, [r2] - lsls r1, 24 - orrs r3, r1 - str r3, [r4] - ldr r3, _080351FC @ =gHappinessMoveAnim - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _08035200 @ =gWeatherMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0xC - adds r1, r2, r1 - ldrb r3, [r1] - mov r1, r12 - adds r1, 0xD - adds r2, r1 - ldrb r1, [r2] - lsls r1, 8 - orrs r3, r1 - strh r3, [r4] - ldr r3, _08035204 @ =gDisableStructMoveAnim - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _08035208 @ =gPID_perBank - ldrb r1, [r6] - lsls r1, 2 - adds r1, r3 - ldr r2, [r2] - str r2, [r1] - ldrb r1, [r5] - bl sub_8031720 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0803520C - bl OpponentBufferExecCompleted - b _08035226 - .align 2, 0 -_080351E8: .4byte gActiveBank -_080351EC: .4byte gBattleBufferA -_080351F0: .4byte gUnknown_0202F7C4 -_080351F4: .4byte gMovePowerMoveAnim -_080351F8: .4byte gMoveDmgMoveAnim -_080351FC: .4byte gHappinessMoveAnim -_08035200: .4byte gWeatherMoveAnim -_08035204: .4byte gDisableStructMoveAnim -_08035208: .4byte gPID_perBank -_0803520C: - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803522C @ =0x02017810 - adds r0, r1 - strb r2, [r0, 0x4] - ldr r1, _08035230 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035234 @ =sub_8035238 - str r1, [r0] -_08035226: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803522C: .4byte 0x02017810 -_08035230: .4byte gBattleBankFunc -_08035234: .4byte sub_8035238 - thumb_func_end OpponentHandleMoveAnimation - - thumb_func_start sub_8035238 -sub_8035238: @ 8035238 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r2, _0803527C @ =gBattleBufferA - ldr r5, _08035280 @ =gActiveBank - ldrb r3, [r5] - lsls r1, r3, 9 - adds r0, r2, 0x1 - mov r9, r0 - adds r0, r1, r0 - ldrb r4, [r0] - adds r6, r2, 0x2 - mov r8, r6 - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - adds r2, 0xB - adds r1, r2 - ldrb r7, [r1] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r6, _08035284 @ =0x02017810 - adds r0, r6 - ldrb r2, [r0, 0x4] - cmp r2, 0x1 - beq _080352C6 - cmp r2, 0x1 - bgt _08035288 - cmp r2, 0 - beq _08035292 - b _08035390 - .align 2, 0 -_0803527C: .4byte gBattleBufferA -_08035280: .4byte gActiveBank -_08035284: .4byte 0x02017810 -_08035288: - cmp r2, 0x2 - beq _080352EC - cmp r2, 0x3 - beq _08035358 - b _08035390 -_08035292: - lsls r1, r3, 2 - adds r0, r6, 0 - subs r0, 0x10 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0xC - ands r0, r2 - cmp r0, 0x4 - bne _080352B6 - movs r0, 0x8 - orrs r0, r2 - strb r0, [r1] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_080352B6: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08035390 -_080352C6: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08035390 - movs r0, 0 - bl sub_80326EC - adds r0, r4, 0 - bl ExecuteMoveAnim - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x2 - strb r0, [r1, 0x4] - b _08035390 -_080352EC: - ldr r0, _08035348 @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _0803534C @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _08035390 - movs r0, 0x1 - bl sub_80326EC - ldrb r2, [r5] - lsls r0, r2, 2 - adds r4, r6, 0 - subs r4, 0x10 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08035334 - cmp r7, 0x1 - bhi _08035334 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl move_anim_start_t4 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0] - movs r1, 0x9 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08035334: - ldr r0, _08035350 @ =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08035354 @ =0x02017810 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0, 0x4] - b _08035390 - .align 2, 0 -_08035348: .4byte gAnimScriptCallback -_0803534C: .4byte gAnimScriptActive -_08035350: .4byte gActiveBank -_08035354: .4byte 0x02017810 -_08035358: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08035390 - bl sub_8031F24 - ldrb r0, [r5] - lsls r2, r0, 9 - mov r3, r9 - adds r1, r2, r3 - ldrb r1, [r1] - add r2, r8 - ldrb r2, [r2] - lsls r2, 8 - orrs r1, r2 - bl sub_80324BC - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strb r4, [r0, 0x4] - bl OpponentBufferExecCompleted -_08035390: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8035238 - - thumb_func_start OpponentHandlePrintString -OpponentHandlePrintString: @ 803539C - push {r4,lr} - sub sp, 0x4 - ldr r0, _080353E0 @ =gUnknown_030042A4 - movs r1, 0 - strh r1, [r0] - ldr r0, _080353E4 @ =gUnknown_030042A0 - strh r1, [r0] - ldr r4, _080353E8 @ =gActiveBank - ldrb r0, [r4] - lsls r0, 9 - ldr r1, _080353EC @ =gUnknown_02023A62 - adds r0, r1 - ldrh r0, [r0] - bl BufferStringBattle - ldr r0, _080353F0 @ =gUnknown_03004210 - ldr r1, _080353F4 @ =gDisplayedStringBattle - movs r2, 0xF - str r2, [sp] - movs r2, 0x90 - movs r3, 0x2 - bl sub_8002EB0 - ldr r1, _080353F8 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080353FC @ =sub_80331D0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080353E0: .4byte gUnknown_030042A4 -_080353E4: .4byte gUnknown_030042A0 -_080353E8: .4byte gActiveBank -_080353EC: .4byte gUnknown_02023A62 -_080353F0: .4byte gUnknown_03004210 -_080353F4: .4byte gDisplayedStringBattle -_080353F8: .4byte gBattleBankFunc -_080353FC: .4byte sub_80331D0 - thumb_func_end OpponentHandlePrintString - - thumb_func_start OpponentHandlePrintStringPlayerOnly -OpponentHandlePrintStringPlayerOnly: @ 8035400 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandlePrintStringPlayerOnly - - thumb_func_start sub_803540C -sub_803540C: @ 803540C - push {lr} - bl sub_8036B0C - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803540C - - thumb_func_start sub_803541C -sub_803541C: @ 803541C - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803541C - - thumb_func_start sub_8035428 -sub_8035428: @ 8035428 - push {r4-r6,lr} - ldr r6, _0803545C @ =gActiveBank - ldrb r0, [r6] - lsls r0, 9 - ldr r1, _08035460 @ =gUnknown_02023A64 - adds r5, r0, r1 - ldr r0, _08035464 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x93 - lsls r0, 3 - ands r0, r1 - cmp r0, 0 - beq _080354F8 - bl BattleAI_SetupAIData - bl BattleAI_GetAIActionToUse - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - beq _08035468 - cmp r4, 0x5 - bne _08035474 - movs r0, 0x1 - movs r1, 0x4 - b _0803546C - .align 2, 0 -_0803545C: .4byte gActiveBank -_08035460: .4byte gUnknown_02023A64 -_08035464: .4byte gBattleTypeFlags -_08035468: - movs r0, 0x1 - movs r1, 0x3 -_0803546C: - movs r2, 0 - bl dp01_build_cmdbuf_x21_a_bb - b _080354E0 -_08035474: - ldr r3, _080354E8 @ =gBattleMoves - lsls r0, r4, 1 - adds r2, r5, r0 - ldrh r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x6] - movs r0, 0x12 - ands r0, r1 - cmp r0, 0 - beq _08035494 - ldr r1, _080354EC @ =gBankTarget - ldrb r0, [r6] - strb r0, [r1] -_08035494: - ldrh r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080354CE - movs r0, 0 - bl GetBankByPlayerAI - ldr r5, _080354EC @ =gBankTarget - strb r0, [r5] - ldr r0, _080354F0 @ =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, _080354F4 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080354CE - movs r0, 0x2 - bl GetBankByPlayerAI - strb r0, [r5] -_080354CE: - ldr r0, _080354EC @ =gBankTarget - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x1 - movs r1, 0xA - adds r2, r4, 0 - bl dp01_build_cmdbuf_x21_a_bb -_080354E0: - bl OpponentBufferExecCompleted - b _0803558A - .align 2, 0 -_080354E8: .4byte gBattleMoves -_080354EC: .4byte gBankTarget -_080354F0: .4byte gAbsentBankFlags -_080354F4: .4byte gBitTable -_080354F8: - movs r6, 0x3 -_080354FA: - bl Random - adds r4, r0, 0 - ands r4, r6 - lsls r0, r4, 1 - adds r0, r5, r0 - ldrh r2, [r0] - cmp r2, 0 - beq _080354FA - ldr r1, _08035534 @ =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - movs r0, 0x12 - ands r0, r1 - cmp r0, 0 - beq _0803553C - ldr r0, _08035538 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x1 - movs r1, 0xA - adds r2, r4, 0 - bl dp01_build_cmdbuf_x21_a_bb - b _08035586 - .align 2, 0 -_08035534: .4byte gBattleMoves -_08035538: .4byte gActiveBank -_0803553C: - ldr r0, _0803556C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08035570 - bl Random - movs r1, 0x2 - ands r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r1, 0 - bl GetBankByPlayerAI - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 16 - orrs r2, r4 - movs r0, 0x1 - movs r1, 0xA - bl dp01_build_cmdbuf_x21_a_bb - b _08035586 - .align 2, 0 -_0803556C: .4byte gBattleTypeFlags -_08035570: - movs r0, 0 - bl GetBankByPlayerAI - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 16 - orrs r2, r4 - movs r0, 0x1 - movs r1, 0xA - bl dp01_build_cmdbuf_x21_a_bb -_08035586: - bl OpponentBufferExecCompleted -_0803558A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8035428 - - thumb_func_start sub_8035590 -sub_8035590: @ 8035590 - push {lr} - ldr r1, _080355B4 @ =0x02000000 - ldr r0, _080355B8 @ =gActiveBank - ldrb r0, [r0] - lsrs r0, 1 - lsls r0, 1 - ldr r2, _080355BC @ =0x000160d4 - adds r0, r2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - bl dp01_build_cmdbuf_x23_aa_0 - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080355B4: .4byte 0x02000000 -_080355B8: .4byte gActiveBank -_080355BC: .4byte 0x000160d4 - thumb_func_end sub_8035590 - - thumb_func_start sub_80355C0 -sub_80355C0: @ 80355C0 - push {r4-r6,lr} - ldr r6, _08035604 @ =0x02000000 - ldr r5, _08035608 @ =gActiveBank - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 25 - ldr r1, _0803560C @ =0x000160c8 - adds r0, r1 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x6 - bne _08035664 - bl sub_8036CD4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bne _0803568A - ldr r0, _08035610 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08035614 - movs r0, 0x1 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - b _08035628 - .align 2, 0 -_08035604: .4byte 0x02000000 -_08035608: .4byte gActiveBank -_0803560C: .4byte 0x000160c8 -_08035610: .4byte gBattleTypeFlags -_08035614: - movs r0, 0x1 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x3 - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r5, r0, 24 -_08035628: - movs r4, 0 - b _0803562E -_0803562C: - adds r4, 0x1 -_0803562E: - cmp r4, 0x5 - bgt _0803568A - movs r0, 0x64 - muls r0, r4 - ldr r1, _0803565C @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0803562C - ldr r1, _08035660 @ =gBattlePartyID - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _0803562C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _0803562C - b _0803568A - .align 2, 0 -_0803565C: .4byte gEnemyParty -_08035660: .4byte gBattlePartyID -_08035664: - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 25 - ldr r2, _080356B0 @ =0x000160c8 - adds r0, r2 - adds r0, r6 - ldrb r4, [r0] - ldrb r0, [r5] - bl GetBankIdentity - lsls r0, 24 - lsrs r0, 25 - ldr r1, _080356B0 @ =0x000160c8 - adds r0, r1 - adds r0, r6 - movs r1, 0x6 - strb r1, [r0] -_0803568A: - ldr r1, _080356B4 @ =0x02000000 - ldr r0, _080356B8 @ =gActiveBank - ldrb r0, [r0] - ldr r2, _080356BC @ =0x00016068 - adds r0, r2 - adds r0, r1 - strb r4, [r0] - lsls r1, r4, 24 - lsrs r1, 24 - movs r0, 0x1 - movs r2, 0 - bl dp01_build_cmdbuf_x22_a_three_bytes - bl OpponentBufferExecCompleted - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080356B0: .4byte 0x000160c8 -_080356B4: .4byte 0x02000000 -_080356B8: .4byte gActiveBank -_080356BC: .4byte 0x00016068 - thumb_func_end sub_80355C0 - - thumb_func_start sub_80356C0 -sub_80356C0: @ 80356C0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80356C0 - - thumb_func_start OpponentHandleHealthBarUpdate -OpponentHandleHealthBarUpdate: @ 80356CC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl load_gfxc_health_bar - ldr r3, _08035744 @ =gBattleBufferA - ldr r0, _08035748 @ =gActiveBank - mov r9, r0 - ldrb r4, [r0] - lsls r2, r4, 9 - adds r0, r3, 0x3 - adds r0, r2, r0 - ldrb r1, [r0] - lsls r1, 8 - adds r3, 0x2 - adds r2, r3 - ldrb r0, [r2] - orrs r0, r1 - lsls r0, 16 - asrs r7, r0, 16 - ldr r0, _0803574C @ =0x00007fff - cmp r7, r0 - beq _0803575C - ldr r6, _08035750 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _08035754 @ =gEnemyParty - adds r0, r4 - movs r1, 0x3A - bl GetMonData - mov r8, r0 - mov r1, r9 - ldrb r0, [r1] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - muls r0, r5 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - adds r3, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _08035758 @ =gHealthboxIDs - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl sub_8043D84 - b _08035786 - .align 2, 0 -_08035744: .4byte gBattleBufferA -_08035748: .4byte gActiveBank -_0803574C: .4byte 0x00007fff -_08035750: .4byte gBattlePartyID -_08035754: .4byte gEnemyParty -_08035758: .4byte gHealthboxIDs -_0803575C: - ldr r1, _080357A4 @ =gBattlePartyID - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080357A8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _080357AC @ =gHealthboxIDs - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl sub_8043D84 -_08035786: - ldr r1, _080357B0 @ =gBattleBankFunc - ldr r0, _080357B4 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080357B8 @ =sub_80330C8 - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080357A4: .4byte gBattlePartyID -_080357A8: .4byte gEnemyParty -_080357AC: .4byte gHealthboxIDs -_080357B0: .4byte gBattleBankFunc -_080357B4: .4byte gActiveBank -_080357B8: .4byte sub_80330C8 - thumb_func_end OpponentHandleHealthBarUpdate - - thumb_func_start OpponentHandleExpBarUpdate -OpponentHandleExpBarUpdate: @ 80357BC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleExpBarUpdate - - thumb_func_start OpponentHandleStatusIconUpdate -OpponentHandleStatusIconUpdate: @ 80357C8 - push {r4,lr} - ldr r4, _08035820 @ =gActiveBank - ldrb r0, [r4] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08035818 - ldr r0, _08035824 @ =gHealthboxIDs - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _08035828 @ =gBattlePartyID - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0803582C @ =gEnemyParty - adds r1, r2 - movs r2, 0x9 - bl sub_8045A5C - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, _08035830 @ =0x02017810 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, _08035834 @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035838 @ =sub_8033494 - str r1, [r0] -_08035818: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035820: .4byte gActiveBank -_08035824: .4byte gHealthboxIDs -_08035828: .4byte gBattlePartyID -_0803582C: .4byte gEnemyParty -_08035830: .4byte 0x02017810 -_08035834: .4byte gBattleBankFunc -_08035838: .4byte sub_8033494 - thumb_func_end OpponentHandleStatusIconUpdate - - thumb_func_start OpponentHandleStatusAnimation -OpponentHandleStatusAnimation: @ 803583C - push {r4,r5,lr} - ldr r5, _08035894 @ =gActiveBank - ldrb r0, [r5] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _0803588C - ldr r4, _08035898 @ =gBattleBufferA - ldrb r3, [r5] - lsls r3, 9 - adds r0, r4, 0x1 - adds r0, r3, r0 - ldrb r0, [r0] - adds r1, r4, 0x2 - adds r1, r3, r1 - ldrb r1, [r1] - adds r2, r4, 0x3 - adds r2, r3, r2 - ldrb r2, [r2] - lsls r2, 8 - orrs r1, r2 - adds r2, r4, 0x4 - adds r2, r3, r2 - ldrb r2, [r2] - lsls r2, 16 - orrs r1, r2 - adds r4, 0x5 - adds r3, r4 - ldrb r2, [r3] - lsls r2, 24 - orrs r1, r2 - bl move_anim_start_t2_for_situation - ldr r1, _0803589C @ =gBattleBankFunc - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080358A0 @ =sub_8033494 - str r1, [r0] -_0803588C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08035894: .4byte gActiveBank -_08035898: .4byte gBattleBufferA -_0803589C: .4byte gBattleBankFunc -_080358A0: .4byte sub_8033494 - thumb_func_end OpponentHandleStatusAnimation - - thumb_func_start OpponentHandleStatusXor -OpponentHandleStatusXor: @ 80358A4 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleStatusXor - - thumb_func_start sub_80358B0 -sub_80358B0: @ 80358B0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358B0 - - thumb_func_start OpponentHandleDMATransfer -OpponentHandleDMATransfer: @ 80358BC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleDMATransfer - - thumb_func_start sub_80358C8 -sub_80358C8: @ 80358C8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358C8 - - thumb_func_start sub_80358D4 -sub_80358D4: @ 80358D4 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358D4 - - thumb_func_start sub_80358E0 -sub_80358E0: @ 80358E0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358E0 - - thumb_func_start sub_80358EC -sub_80358EC: @ 80358EC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358EC - - thumb_func_start sub_80358F8 -sub_80358F8: @ 80358F8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80358F8 - - thumb_func_start sub_8035904 -sub_8035904: @ 8035904 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8035904 - - thumb_func_start sub_8035910 -sub_8035910: @ 8035910 - push {lr} - ldr r2, _08035928 @ =gUnknown_020238C8 - ldrb r1, [r2] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035928: .4byte gUnknown_020238C8 - thumb_func_end sub_8035910 - - thumb_func_start sub_803592C -sub_803592C: @ 803592C - push {lr} - ldr r3, _08035958 @ =gUnknown_020238C8 - ldr r1, _0803595C @ =gBattleBufferA - ldr r0, _08035960 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x7F - ands r1, r0 - ldrb r2, [r3] - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035958: .4byte gUnknown_020238C8 -_0803595C: .4byte gBattleBufferA -_08035960: .4byte gActiveBank - thumb_func_end sub_803592C - - thumb_func_start sub_8035964 -sub_8035964: @ 8035964 - push {lr} - ldr r2, _08035978 @ =gUnknown_020238C8 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035978: .4byte gUnknown_020238C8 - thumb_func_end sub_8035964 - - thumb_func_start sub_803597C -sub_803597C: @ 803597C - push {lr} - ldr r3, _080359A0 @ =gUnknown_020238C8 - ldr r1, [r3] - lsls r1, 24 - lsrs r1, 31 - movs r0, 0x1 - eors r1, r0 - lsls r1, 7 - ldrb r2, [r3] - movs r0, 0x7F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080359A0: .4byte gUnknown_020238C8 - thumb_func_end sub_803597C - - thumb_func_start OpponentHandleHitAnimation -OpponentHandleHitAnimation: @ 80359A4 - push {r4,lr} - ldr r3, _080359CC @ =gSprites - ldr r2, _080359D0 @ =gObjectBankIDs - ldr r4, _080359D4 @ =gActiveBank - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080359D8 - bl OpponentBufferExecCompleted - b _08035A02 - .align 2, 0 -_080359CC: .4byte gSprites -_080359D0: .4byte gObjectBankIDs -_080359D4: .4byte gActiveBank -_080359D8: - ldr r1, _08035A08 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldrb r0, [r4] - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x30] - ldrb r0, [r4] - bl sub_8047858 - ldr r1, _08035A0C @ =gBattleBankFunc - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035A10 @ =bx_blink_t7 - str r1, [r0] -_08035A02: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035A08: .4byte gDoingBattleAnim -_08035A0C: .4byte gBattleBankFunc -_08035A10: .4byte bx_blink_t7 - thumb_func_end OpponentHandleHitAnimation - - thumb_func_start sub_8035A14 -sub_8035A14: @ 8035A14 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8035A14 - - thumb_func_start OpponentHandleEffectivenessSound -OpponentHandleEffectivenessSound: @ 8035A20 - push {r4,lr} - ldr r4, _08035A5C @ =gActiveBank - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _08035A34 - movs r3, 0xC0 -_08035A34: - ldr r2, _08035A60 @ =gBattleBufferA - ldrb r1, [r4] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - lsls r1, r3, 24 - asrs r1, 24 - bl PlaySE12WithPanning - bl OpponentBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035A5C: .4byte gActiveBank -_08035A60: .4byte gBattleBufferA - thumb_func_end OpponentHandleEffectivenessSound - - thumb_func_start sub_8035A64 -sub_8035A64: @ 8035A64 - push {lr} - ldr r2, _08035A8C @ =gBattleBufferA - ldr r0, _08035A90 @ =gActiveBank - ldrb r1, [r0] - lsls r1, 9 - adds r0, r2, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - orrs r0, r1 - bl PlayFanfare - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035A8C: .4byte gBattleBufferA -_08035A90: .4byte gActiveBank - thumb_func_end sub_8035A64 - - thumb_func_start OpponentHandleFaintingCry -OpponentHandleFaintingCry: @ 8035A94 - push {lr} - ldr r1, _08035AC4 @ =gBattlePartyID - ldr r0, _08035AC8 @ =gActiveBank - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08035ACC @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - movs r2, 0x5 - bl PlayCry3 - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035AC4: .4byte gBattlePartyID -_08035AC8: .4byte gActiveBank -_08035ACC: .4byte gEnemyParty - thumb_func_end OpponentHandleFaintingCry - - thumb_func_start dp01t_2E_7_battle_intro -dp01t_2E_7_battle_intro: @ 8035AD0 - push {lr} - ldr r1, _08035AF8 @ =gBattleBufferA - ldr r0, _08035AFC @ =gActiveBank - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl sub_80E43C0 - ldr r2, _08035B00 @ =gUnknown_02024DE8 - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035AF8: .4byte gBattleBufferA -_08035AFC: .4byte gActiveBank -_08035B00: .4byte gUnknown_02024DE8 - thumb_func_end dp01t_2E_7_battle_intro - - thumb_func_start sub_8035B04 -sub_8035B04: @ 8035B04 - push {r4-r6,lr} - ldr r5, _08035BE0 @ =gObjectBankIDs - ldr r6, _08035BE4 @ =gActiveBank - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08035BE8 @ =gSprites - adds r0, r4 - bl oamt_add_pos2_onto_pos1 - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x23 - strh r1, [r0, 0x2E] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x8C - lsls r1, 1 - strh r1, [r0, 0x32] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x22] - strh r1, [r0, 0x36] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08035BEC @ =sub_8078B34 - str r1, [r0] - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08035BF0 @ =sub_8035C10 - bl oamt_set_x3A_32 - ldr r0, _08035BF4 @ =sub_8035C44 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08035BF8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldrb r0, [r6] - strh r0, [r1, 0x8] - ldrb r3, [r6] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r2, _08035BFC @ =0x02017810 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08035BC2 - ldr r0, _08035C00 @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _08035C04 @ =sub_8044CA0 - str r1, [r0] -_08035BC2: - adds r2, 0x30 - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _08035C08 @ =gBattleBankFunc - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035C0C @ =nullsub_45 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035BE0: .4byte gObjectBankIDs -_08035BE4: .4byte gActiveBank -_08035BE8: .4byte gSprites -_08035BEC: .4byte sub_8078B34 -_08035BF0: .4byte sub_8035C10 -_08035BF4: .4byte sub_8035C44 -_08035BF8: .4byte gTasks -_08035BFC: .4byte 0x02017810 -_08035C00: .4byte gUnknown_02024E68 -_08035C04: .4byte sub_8044CA0 -_08035C08: .4byte gBattleBankFunc -_08035C0C: .4byte nullsub_45 - thumb_func_end sub_8035B04 - - thumb_func_start sub_8035C10 -sub_8035C10: @ 8035C10 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x6] - bl sub_8031B74 - ldrh r0, [r4, 0x38] - ldr r1, _08035C3C @ =0x000003ff - ands r1, r0 - ldrh r2, [r4, 0x4] - ldr r0, _08035C40 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035C3C: .4byte 0x000003ff -_08035C40: .4byte 0xfffffc00 - thumb_func_end sub_8035C10 - - thumb_func_start sub_8035C44 -sub_8035C44: @ 8035C44 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r7, _08035C9C @ =gActiveBank - ldrb r0, [r7] - mov r9, r0 - ldr r1, _08035CA0 @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - strb r0, [r7] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08035C7E - ldr r0, _08035CA4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035CB0 -_08035C7E: - ldr r0, _08035CA8 @ =gBattleBufferA - ldrb r1, [r7] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _08035CAC @ =gBattlePartyID - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r7] - movs r1, 0 - bl sub_803495C - b _08035CF0 - .align 2, 0 -_08035C9C: .4byte gActiveBank -_08035CA0: .4byte gTasks -_08035CA4: .4byte gBattleTypeFlags -_08035CA8: .4byte gBattleBufferA -_08035CAC: .4byte gBattlePartyID -_08035CB0: - ldr r4, _08035D14 @ =gBattleBufferA - ldrb r0, [r7] - lsls r1, r0, 9 - adds r4, 0x1 - adds r1, r4 - ldr r6, _08035D18 @ =gBattlePartyID - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_803495C - ldrb r0, [r7] - movs r5, 0x2 - eors r0, r5 - strb r0, [r7] - ldrb r0, [r7] - lsls r1, r0, 9 - adds r1, r4 - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_803495C - ldrb r0, [r7] - eors r0, r5 - strb r0, [r7] -_08035CF0: - ldr r1, _08035D1C @ =gBattleBankFunc - ldr r2, _08035D20 @ =gActiveBank - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035D24 @ =sub_8032E2C - str r1, [r0] - mov r0, r9 - strb r0, [r2] - mov r0, r8 - bl DestroyTask - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035D14: .4byte gBattleBufferA -_08035D18: .4byte gBattlePartyID -_08035D1C: .4byte gBattleBankFunc -_08035D20: .4byte gActiveBank -_08035D24: .4byte sub_8032E2C - thumb_func_end sub_8035C44 - - thumb_func_start dp01t_30_7_0803D67C -dp01t_30_7_0803D67C: @ 8035D28 - push {r4-r6,lr} - ldr r1, _08035D50 @ =gBattleBufferA - ldr r0, _08035D54 @ =gActiveBank - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08035D58 - adds r0, r2, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08035D58 - bl OpponentBufferExecCompleted - b _08035E12 - .align 2, 0 -_08035D50: .4byte gBattleBufferA -_08035D54: .4byte gActiveBank -_08035D58: - ldr r3, _08035DA8 @ =gActiveBank - ldrb r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r4, _08035DAC @ =0x02017810 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - ldr r1, _08035DB0 @ =gBattleBufferA - ldrb r2, [r3] - lsls r0, r2, 9 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r6, r3, 0 - cmp r0, 0 - beq _08035DBC - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r4 - ldrb r2, [r3, 0x1] - lsls r1, r2, 26 - lsrs r0, r1, 27 - cmp r0, 0x1 - bhi _08035DB4 - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - b _08035E12 - .align 2, 0 -_08035DA8: .4byte gActiveBank -_08035DAC: .4byte 0x02017810 -_08035DB0: .4byte gBattleBufferA -_08035DB4: - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - strb r0, [r3, 0x1] -_08035DBC: - adds r5, r6, 0 - ldrb r0, [r5] - lsls r3, r0, 9 - ldr r4, _08035E18 @ =gUnknown_02023A64 - adds r1, r3, r4 - subs r2, r4, 0x3 - adds r2, r3, r2 - ldrb r2, [r2] - subs r4, 0x2 - adds r3, r4 - ldrb r3, [r3] - bl sub_8044804 - ldr r2, _08035E1C @ =gUnknown_02024E68 - ldrb r1, [r5] - adds r1, r2 - movs r2, 0 - strb r0, [r1] - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r3, _08035E20 @ =0x02017810 - adds r0, r3 - strb r2, [r0, 0x5] - ldrb r1, [r5] - lsls r0, r1, 9 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _08035E06 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5D - strb r1, [r0, 0x5] -_08035E06: - ldr r0, _08035E24 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _08035E28 @ =sub_8035E2C - str r0, [r1] -_08035E12: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035E18: .4byte gUnknown_02023A64 -_08035E1C: .4byte gUnknown_02024E68 -_08035E20: .4byte 0x02017810 -_08035E24: .4byte gBattleBankFunc -_08035E28: .4byte sub_8035E2C - thumb_func_end dp01t_30_7_0803D67C - - thumb_func_start sub_8035E2C -sub_8035E2C: @ 8035E2C - push {r4,lr} - ldr r4, _08035E64 @ =gActiveBank - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r3, _08035E68 @ =0x02017810 - adds r0, r3 - ldrb r1, [r0, 0x5] - adds r2, r1, 0x1 - strb r2, [r0, 0x5] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x5C - bls _08035E5C - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r0, 0 - strb r0, [r1, 0x5] - bl OpponentBufferExecCompleted -_08035E5C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035E64: .4byte gActiveBank -_08035E68: .4byte 0x02017810 - thumb_func_end sub_8035E2C - - thumb_func_start sub_8035E6C -sub_8035E6C: @ 8035E6C - push {lr} - ldr r0, _08035EA4 @ =gActiveBank - ldrb r3, [r0] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - ldr r1, _08035EA8 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08035E9A - ldr r2, _08035EAC @ =gTasks - ldr r0, _08035EB0 @ =gUnknown_02024E68 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _08035EB4 @ =sub_8044CA0 - str r1, [r0] -_08035E9A: - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035EA4: .4byte gActiveBank -_08035EA8: .4byte 0x02017810 -_08035EAC: .4byte gTasks -_08035EB0: .4byte gUnknown_02024E68 -_08035EB4: .4byte sub_8044CA0 - thumb_func_end sub_8035E6C - - thumb_func_start sub_8035EB8 -sub_8035EB8: @ 8035EB8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8035EB8 - - thumb_func_start OpponentHandleSpriteInvisibility -OpponentHandleSpriteInvisibility: @ 8035EC4 - push {r4,lr} - ldr r4, _08035F14 @ =gActiveBank - ldrb r0, [r4] - bl sub_8078874 - lsls r0, 24 - cmp r0, 0 - beq _08035F0A - ldr r3, _08035F18 @ =gSprites - ldr r0, _08035F1C @ =gObjectBankIDs - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldr r0, _08035F20 @ =gBattleBufferA - lsls r1, 9 - adds r0, 0x1 - adds r1, r0 - adds r2, 0x3E - movs r0, 0x1 - ldrb r1, [r1] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - bl sub_8031F88 -_08035F0A: - bl OpponentBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035F14: .4byte gActiveBank -_08035F18: .4byte gSprites -_08035F1C: .4byte gObjectBankIDs -_08035F20: .4byte gBattleBufferA - thumb_func_end OpponentHandleSpriteInvisibility - - thumb_func_start OpponentHandleBattleAnimation -OpponentHandleBattleAnimation: @ 8035F24 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _08035F68 @ =gActiveBank - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08035F7C - ldr r5, _08035F6C @ =gBattleBufferA - ldrb r2, [r6] - lsls r1, r2, 9 - adds r0, r5, 0x1 - adds r0, r1, r0 - ldrb r3, [r0] - adds r0, r5, 0x2 - adds r0, r1, r0 - ldrb r4, [r0] - adds r5, 0x3 - adds r1, r5 - ldrb r0, [r1] - lsls r0, 8 - orrs r4, r0 - str r4, [sp] - adds r0, r2, 0 - adds r1, r2, 0 - bl move_anim_start_t3 - lsls r0, 24 - cmp r0, 0 - beq _08035F70 - bl OpponentBufferExecCompleted - b _08035F7C - .align 2, 0 -_08035F68: .4byte gActiveBank -_08035F6C: .4byte gBattleBufferA -_08035F70: - ldr r0, _08035F84 @ =gBattleBankFunc - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _08035F88 @ =sub_80334C0 - str r0, [r1] -_08035F7C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035F84: .4byte gBattleBankFunc -_08035F88: .4byte sub_80334C0 - thumb_func_end OpponentHandleBattleAnimation - - thumb_func_start OpponentHandleLinkStandbyMsg -OpponentHandleLinkStandbyMsg: @ 8035F8C - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleLinkStandbyMsg - - thumb_func_start OpponentHandleResetActionMoveSelection -OpponentHandleResetActionMoveSelection: @ 8035F98 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end OpponentHandleResetActionMoveSelection - - thumb_func_start sub_8035FA4 -sub_8035FA4: @ 8035FA4 - push {lr} - ldr r0, _08035FD8 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0x2 - bne _08035FCE - ldr r2, _08035FDC @ =gMain - ldr r0, _08035FE0 @ =0x0000043d - adds r3, r2, r0 - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldr r0, _08035FE4 @ =gPreBattleCallback1 - ldr r0, [r0] - str r0, [r2] - ldr r0, [r2, 0x8] - bl SetMainCallback2 -_08035FCE: - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08035FD8: .4byte gBattleTypeFlags -_08035FDC: .4byte gMain -_08035FE0: .4byte 0x0000043d -_08035FE4: .4byte gPreBattleCallback1 - thumb_func_end sub_8035FA4 - - thumb_func_start nullsub_46 -nullsub_46: @ 8035FE8 - bx lr - thumb_func_end nullsub_46 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index e882e7030..1f489ceb3 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -815,8 +815,8 @@ _08081022: _08081028: .4byte sub_8054588 thumb_func_end sub_8080FC4 - thumb_func_start sub_808102C -sub_808102C: @ 808102C + thumb_func_start DoCableClubWarp +DoCableClubWarp: @ 808102C push {lr} bl ScriptContext2_Enable bl sub_8053FF8 @@ -830,7 +830,7 @@ sub_808102C: @ 808102C bx r0 .align 2, 0 _0808104C: .4byte sub_8080FC4 - thumb_func_end sub_808102C + thumb_func_end DoCableClubWarp thumb_func_start sub_8081050 sub_8081050: @ 8081050 diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s deleted file mode 100644 index dcd485d9f..000000000 --- a/asm/fldeff_flash.s +++ /dev/null @@ -1,753 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Flash -SetUpFieldMove_Flash: @ 810CBB4 - push {lr} - ldr r0, _0810CBDC @ =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _0810CBF4 - ldr r0, _0810CBE0 @ =0x00000828 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0810CBF4 - ldr r1, _0810CBE4 @ =gFieldCallback - ldr r0, _0810CBE8 @ =sub_808AB90 - str r0, [r1] - ldr r1, _0810CBEC @ =gUnknown_03005CE4 - ldr r0, _0810CBF0 @ =sub_810CBFC - str r0, [r1] - movs r0, 0x1 - b _0810CBF6 - .align 2, 0 -_0810CBDC: .4byte gMapHeader -_0810CBE0: .4byte 0x00000828 -_0810CBE4: .4byte gFieldCallback -_0810CBE8: .4byte sub_808AB90 -_0810CBEC: .4byte gUnknown_03005CE4 -_0810CBF0: .4byte sub_810CBFC -_0810CBF4: - movs r0, 0 -_0810CBF6: - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Flash - - thumb_func_start sub_810CBFC -sub_810CBFC: @ 810CBFC - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CC24 @ =gUnknown_0202FF84 - ldr r1, _0810CC28 @ =gLastFieldPokeMenuOpened - ldrb r1, [r1] - str r1, [r2] - ldr r2, _0810CC2C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _0810CC30 @ =sub_810CC34 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - pop {r0} - bx r0 - .align 2, 0 -_0810CC24: .4byte gUnknown_0202FF84 -_0810CC28: .4byte gLastFieldPokeMenuOpened -_0810CC2C: .4byte gTasks -_0810CC30: .4byte sub_810CC34 - thumb_func_end sub_810CBFC - - thumb_func_start sub_810CC34 -sub_810CC34: @ 810CC34 - push {lr} - movs r0, 0xCF - bl PlaySE - ldr r0, _0810CC4C @ =0x00000828 - bl FlagSet - ldr r0, _0810CC50 @ =gUnknown_081B694A - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_0810CC4C: .4byte 0x00000828 -_0810CC50: .4byte gUnknown_081B694A - thumb_func_end sub_810CC34 - - thumb_func_start sub_810CC54 -sub_810CC54: @ 810CC54 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_810CC54 - - thumb_func_start sub_810CC6C -sub_810CC6C: @ 810CC6C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_810CC6C - - thumb_func_start sub_810CC80 -sub_810CC80: @ 810CC80 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0xC - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x10 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - mov r0, sp - strh r1, [r0] - ldr r1, _0810CD34 @ =0x040000d4 - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0810CD38 @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r4, 0 - str r4, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0810CD3C @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r4, [r0] - str r0, [r1] - ldr r0, _0810CD40 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _0810CD44 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - ldr r3, _0810CD48 @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _0810CD4C @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, _0810CD50 @ =sub_810CC6C - bl SetVBlankCallback - ldr r0, _0810CD54 @ =sub_810CC54 - bl SetMainCallback2 - bl sub_810CD5C - lsls r0, 24 - cmp r0, 0 - bne _0810CD2A - ldr r0, _0810CD58 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810CD2A: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CD34: .4byte 0x040000d4 -_0810CD38: .4byte 0x8100c000 -_0810CD3C: .4byte 0x85000100 -_0810CD40: .4byte 0x05000002 -_0810CD44: .4byte 0x810001ff -_0810CD48: .4byte 0x04000208 -_0810CD4C: .4byte 0x04000200 -_0810CD50: .4byte sub_810CC6C -_0810CD54: .4byte sub_810CC54 -_0810CD58: .4byte gMain - thumb_func_end sub_810CC80 - - thumb_func_start sub_810CD5C -sub_810CD5C: @ 810CD5C - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r6, r0, 24 - bl sav1_map_get_light_level - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r4, _0810CD9C @ =gUnknown_083F7FC4 - ldrb r0, [r4] - cmp r0, 0 - beq _0810CDB0 - adds r7, r4, 0 - adds r0, r4, 0x4 - mov r12, r0 -_0810CD7E: - lsls r2, r3, 3 - adds r1, r2, r7 - ldrb r0, [r1] - cmp r0, r6 - bne _0810CDA0 - ldrb r0, [r1, 0x1] - cmp r0, r5 - bne _0810CDA0 - mov r1, r12 - adds r0, r2, r1 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _0810CDB2 - .align 2, 0 -_0810CD9C: .4byte gUnknown_083F7FC4 -_0810CDA0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CD7E -_0810CDB0: - movs r0, 0 -_0810CDB2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810CD5C - - thumb_func_start sub_810CDB8 -sub_810CDB8: @ 810CDB8 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _0810CDE4 @ =gUnknown_083F7FC4 - ldrb r0, [r1] - cmp r0, 0 - beq _0810CDF8 - adds r6, r1, 0 -_0810CDCE: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _0810CDE8 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _0810CDE8 - ldrb r0, [r2, 0x2] - b _0810CDFA - .align 2, 0 -_0810CDE4: .4byte gUnknown_083F7FC4 -_0810CDE8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CDCE -_0810CDF8: - movs r0, 0 -_0810CDFA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_810CDB8 - - thumb_func_start fade_type_for_given_maplight_pair -fade_type_for_given_maplight_pair: @ 810CE00 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _0810CE2C @ =gUnknown_083F7FC4 - ldrb r0, [r1] - cmp r0, 0 - beq _0810CE40 - adds r6, r1, 0 -_0810CE16: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _0810CE30 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _0810CE30 - ldrb r0, [r2, 0x3] - b _0810CE42 - .align 2, 0 -_0810CE2C: .4byte gUnknown_083F7FC4 -_0810CE30: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CE16 -_0810CE40: - movs r0, 0 -_0810CE42: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end fade_type_for_given_maplight_pair - - thumb_func_start sub_810CE48 -sub_810CE48: @ 810CE48 - push {lr} - ldr r0, _0810CE58 @ =sub_810CE5C - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810CE58: .4byte sub_810CE5C - thumb_func_end sub_810CE48 - - thumb_func_start sub_810CE5C -sub_810CE5C: @ 810CE5C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CE70 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810CE74 @ =sub_810CE78 - str r0, [r1] - bx lr - .align 2, 0 -_0810CE70: .4byte gTasks -_0810CE74: .4byte sub_810CE78 - thumb_func_end sub_810CE5C - - thumb_func_start sub_810CE78 -sub_810CE78: @ 810CE78 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r6, 0x80 - lsls r6, 19 - movs r5, 0 - strh r5, [r6] - ldr r0, _0810CEE8 @ =gCaveTransitionTiles - ldr r1, _0810CEEC @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _0810CEF0 @ =gCaveTransitionTilemap - ldr r1, _0810CEF4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _0810CEF8 @ =gCaveTransitionPalette_White - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810CEFC @ =gUnknown_083F809C - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, _0810CF00 @ =REG_BLDCNT - ldr r2, _0810CF04 @ =0x00003e41 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0810CF08 @ =REG_BLDALPHA - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - subs r1, 0x48 - ldr r2, _0810CF0C @ =0x00001f0c - adds r0, r2, 0 - strh r0, [r1] - movs r1, 0x8A - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r6] - ldr r1, _0810CF10 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810CF14 @ =sub_810CF18 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810CEE8: .4byte gCaveTransitionTiles -_0810CEEC: .4byte 0x0600c000 -_0810CEF0: .4byte gCaveTransitionTilemap -_0810CEF4: .4byte 0x0600f800 -_0810CEF8: .4byte gCaveTransitionPalette_White -_0810CEFC: .4byte gUnknown_083F809C -_0810CF00: .4byte REG_BLDCNT -_0810CF04: .4byte 0x00003e41 -_0810CF08: .4byte REG_BLDALPHA -_0810CF0C: .4byte 0x00001f0c -_0810CF10: .4byte gTasks -_0810CF14: .4byte sub_810CF18 - thumb_func_end sub_810CE78 - - thumb_func_start sub_810CF18 -sub_810CF18: @ 810CF18 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CF44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r2, [r3, 0xA] - movs r1, 0x80 - lsls r1, 5 - adds r0, r2, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0810CF48 @ =REG_BLDALPHA - strh r0, [r1] - cmp r2, 0x10 - bhi _0810CF4C - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - b _0810CF54 - .align 2, 0 -_0810CF44: .4byte gTasks -_0810CF48: .4byte REG_BLDALPHA -_0810CF4C: - movs r0, 0 - strh r0, [r3, 0xC] - ldr r0, _0810CF58 @ =sub_810CF5C - str r0, [r3] -_0810CF54: - pop {r0} - bx r0 - .align 2, 0 -_0810CF58: .4byte sub_810CF5C - thumb_func_end sub_810CF18 - - thumb_func_start sub_810CF5C -sub_810CF5C: @ 810CF5C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CF94 @ =REG_BLDALPHA - ldr r3, _0810CF98 @ =0x00001010 - adds r1, r3, 0 - strh r1, [r2] - ldr r2, _0810CF9C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _0810CFA4 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, _0810CFA0 @ =gUnknown_083F809C - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _0810CFB6 - .align 2, 0 -_0810CF94: .4byte REG_BLDALPHA -_0810CF98: .4byte 0x00001010 -_0810CF9C: .4byte gTasks -_0810CFA0: .4byte gUnknown_083F809C -_0810CFA4: - ldr r0, _0810CFBC @ =gCaveTransitionPalette_White - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810CFC0 @ =sub_810CFC4 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_0810CFB6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CFBC: .4byte gCaveTransitionPalette_White -_0810CFC0: .4byte sub_810CFC4 - thumb_func_end sub_810CF5C - - thumb_func_start sub_810CFC4 -sub_810CFC4: @ 810CFC4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CFE4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0810CFE8 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _0810CFF0 - .align 2, 0 -_0810CFE4: .4byte gTasks -_0810CFE8: - ldr r0, _0810CFF4 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810CFF0: - pop {r0} - bx r0 - .align 2, 0 -_0810CFF4: .4byte gMain - thumb_func_end sub_810CFC4 - - thumb_func_start sub_810CFF8 -sub_810CFF8: @ 810CFF8 - push {lr} - ldr r0, _0810D008 @ =sub_810D00C - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810D008: .4byte sub_810D00C - thumb_func_end sub_810CFF8 - - thumb_func_start sub_810D00C -sub_810D00C: @ 810D00C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D020 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810D024 @ =sub_810D028 - str r0, [r1] - bx lr - .align 2, 0 -_0810D020: .4byte gTasks -_0810D024: .4byte sub_810D028 - thumb_func_end sub_810D00C - - thumb_func_start sub_810D028 -sub_810D028: @ 810D028 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r6, 0x80 - lsls r6, 19 - movs r4, 0 - strh r4, [r6] - ldr r0, _0810D098 @ =gCaveTransitionTiles - ldr r1, _0810D09C @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _0810D0A0 @ =gCaveTransitionTilemap - ldr r1, _0810D0A4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _0810D0A8 @ =REG_BLDCNT - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - ldr r1, _0810D0AC @ =REG_BG0CNT - ldr r2, _0810D0B0 @ =0x00001f0c - adds r0, r2, 0 - strh r0, [r1] - movs r1, 0x8A - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r6] - ldr r0, _0810D0B4 @ =gCaveTransitionPalette_White - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810D0B8 @ =gCaveTransitionPalette_Black - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0810D0BC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810D0C0 @ =sub_810D0C4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810D098: .4byte gCaveTransitionTiles -_0810D09C: .4byte 0x0600c000 -_0810D0A0: .4byte gCaveTransitionTilemap -_0810D0A4: .4byte 0x0600f800 -_0810D0A8: .4byte REG_BLDCNT -_0810D0AC: .4byte REG_BG0CNT -_0810D0B0: .4byte 0x00001f0c -_0810D0B4: .4byte gCaveTransitionPalette_White -_0810D0B8: .4byte gCaveTransitionPalette_Black -_0810D0BC: .4byte gTasks -_0810D0C0: .4byte sub_810D0C4 - thumb_func_end sub_810D028 - - thumb_func_start sub_810D0C4 -sub_810D0C4: @ 810D0C4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D0F8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r1, [r3, 0xC] - cmp r1, 0xF - bhi _0810D100 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r3, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, _0810D0FC @ =gUnknown_083F808C - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _0810D114 - .align 2, 0 -_0810D0F8: .4byte gTasks -_0810D0FC: .4byte gUnknown_083F808C -_0810D100: - ldr r1, _0810D118 @ =REG_BLDALPHA - ldr r2, _0810D11C @ =0x00001010 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x2 - ldr r2, _0810D120 @ =0x00003e41 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0810D124 @ =sub_810D128 - str r0, [r3] -_0810D114: - pop {r0} - bx r0 - .align 2, 0 -_0810D118: .4byte REG_BLDALPHA -_0810D11C: .4byte 0x00001010 -_0810D120: .4byte 0x00003e41 -_0810D124: .4byte sub_810D128 - thumb_func_end sub_810D0C4 - - thumb_func_start sub_810D128 -sub_810D128: @ 810D128 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D158 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r0, [r3, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - movs r2, 0x80 - lsls r2, 21 - adds r0, r1, r2 - lsrs r0, 16 - ldr r2, _0810D15C @ =REG_BLDALPHA - strh r0, [r2] - cmp r1, 0 - beq _0810D160 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - b _0810D172 - .align 2, 0 -_0810D158: .4byte gTasks -_0810D15C: .4byte REG_BLDALPHA -_0810D160: - ldr r0, _0810D178 @ =gCaveTransitionPalette_Black - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810D17C @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810D172: - pop {r0} - bx r0 - .align 2, 0 -_0810D178: .4byte gCaveTransitionPalette_Black -_0810D17C: .4byte gMain - thumb_func_end sub_810D128 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/m4a_1.s b/asm/m4a_1.s index ffe2ca885..849cf5c2d 100644 --- a/asm/m4a_1.s +++ b/asm/m4a_1.s @@ -4,6 +4,8 @@ .syntax unified + .lcomm gUnknown_030007B8, 0x770 + .text thumb_func_start umul3232H32 diff --git a/asm/macros/event.inc b/asm/macros/event.inc index e3caa0c4f..cd2927c66 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -241,14 +241,14 @@ @ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers. .macro special function .byte 0x25 - .2byte \function + .2byte SPECIAL_\function .endm @ Calls a special function. That function's output (if any) will be written to the variable you specify. .macro specialval output, function .byte 0x26 .2byte \output - .2byte \function + .2byte SPECIAL_\function .endm @ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang). diff --git a/asm/mon_markings.s b/asm/mon_markings.s deleted file mode 100644 index d227b17c1..000000000 --- a/asm/mon_markings.s +++ /dev/null @@ -1,1008 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F727C -sub_80F727C: @ 80F727C - ldr r1, _080F7288 @ =gUnknown_020388B8 - str r0, [r1] - movs r1, 0 - strb r1, [r0, 0xB] - bx lr - .align 2, 0 -_080F7288: .4byte gUnknown_020388B8 - thumb_func_end sub_80F727C - - thumb_func_start sub_80F728C -sub_80F728C: @ 80F728C - push {lr} - sub sp, 0x4 - ldr r0, _080F72C4 @ =gSaveBlock2 - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl GetTextWindowFrameGraphics - ldr r3, _080F72C8 @ =gUnknown_020388B8 - ldr r2, [r3] - ldr r1, [r0] - str r1, [r2, 0x28] - ldr r0, [r0, 0x4] - str r0, [r2, 0x2C] - ldr r0, _080F72CC @ =0x000010b0 - adds r2, r0 - movs r1, 0 - strb r1, [r2] - mov r0, sp - strh r1, [r0] - ldr r1, [r3] - adds r1, 0x30 - ldr r2, _080F72D0 @ =0x01000800 - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080F72C4: .4byte gSaveBlock2 -_080F72C8: .4byte gUnknown_020388B8 -_080F72CC: .4byte 0x000010b0 -_080F72D0: .4byte 0x01000800 - thumb_func_end sub_80F728C - - thumb_func_start sub_80F72D4 -sub_80F72D4: @ 80F72D4 - push {r4-r7,lr} - ldr r0, _080F72F4 @ =gUnknown_020388B8 - ldr r1, [r0] - ldr r2, _080F72F8 @ =0x000010b0 - adds r0, r1, r2 - ldrb r2, [r0] - lsls r0, r2, 8 - adds r0, 0x30 - adds r5, r1, r0 - cmp r2, 0xD - beq _080F73A4 - cmp r2, 0xD - bgt _080F72FC - cmp r2, 0 - beq _080F7302 - b _080F734C - .align 2, 0 -_080F72F4: .4byte gUnknown_020388B8 -_080F72F8: .4byte 0x000010b0 -_080F72FC: - cmp r2, 0xE - beq _080F73F0 - b _080F734C -_080F7302: - ldr r0, [r1, 0x28] - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_080F7312: - ldr r6, _080F7344 @ =gUnknown_020388B8 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0x20 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _080F7312 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0x40 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r0, _080F7348 @ =0x000010b0 - adds r1, r0 - b _080F7392 - .align 2, 0 -_080F7344: .4byte gUnknown_020388B8 -_080F7348: .4byte 0x000010b0 -_080F734C: - ldr r0, _080F739C @ =gUnknown_020388B8 - ldr r0, [r0] - ldr r0, [r0, 0x28] - adds r0, 0x60 - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_080F7362: - ldr r6, _080F739C @ =gUnknown_020388B8 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0x80 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _080F7362 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0xA0 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r2, _080F73A0 @ =0x000010b0 - adds r1, r2 -_080F7392: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080F73FC - .align 2, 0 -_080F739C: .4byte gUnknown_020388B8 -_080F73A0: .4byte 0x000010b0 -_080F73A4: - ldr r0, [r1, 0x28] - adds r0, 0xC0 - adds r1, r5, 0 - movs r2, 0x8 - bl CpuFastSet - movs r4, 0 - adds r7, r5, 0 - adds r7, 0xE0 -_080F73B6: - ldr r6, _080F73F4 @ =gUnknown_020388B8 - ldr r0, [r6] - ldr r0, [r0, 0x28] - adds r0, 0xE0 - adds r4, 0x1 - lsls r1, r4, 5 - adds r1, r5, r1 - movs r2, 0x8 - bl CpuFastSet - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x5 - bls _080F73B6 - ldr r0, [r6] - ldr r0, [r0, 0x28] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x8 - bl CpuFastSet - ldr r1, [r6] - ldr r2, _080F73F8 @ =0x000010b0 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080F73F0: - movs r0, 0 - b _080F73FE - .align 2, 0 -_080F73F4: .4byte gUnknown_020388B8 -_080F73F8: .4byte 0x000010b0 -_080F73FC: - movs r0, 0x1 -_080F73FE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80F72D4 - - thumb_func_start sub_80F7404 -sub_80F7404: @ 80F7404 - push {lr} - bl sub_80F728C -_080F740A: - bl sub_80F72D4 - lsls r0, 24 - cmp r0, 0 - bne _080F740A - pop {r0} - bx r0 - thumb_func_end sub_80F7404 - - thumb_func_start sub_80F7418 -sub_80F7418: @ 80F7418 - push {r4-r6,lr} - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - ldr r2, _080F746C @ =gUnknown_020388B8 - ldr r3, [r2] - movs r1, 0 - strb r1, [r3, 0x5] - ldr r1, [r2] - strb r0, [r1, 0x4] - movs r3, 0 - adds r4, r2, 0 - movs r2, 0x1 -_080F7434: - ldr r0, [r4] - adds r1, r0, 0x6 - adds r1, r3 - ldrb r0, [r0, 0x4] - asrs r0, r3 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080F7434 - bl DestroyMenuCursor - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - ldr r2, _080F746C @ =gUnknown_020388B8 - ldr r3, [r2] - ldrh r2, [r3] - ldrh r3, [r3, 0x2] - bl sub_80F761C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F746C: .4byte gUnknown_020388B8 - thumb_func_end sub_80F7418 - - thumb_func_start sub_80F7470 -sub_80F7470: @ 80F7470 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080F74FC @ =gUnknown_020388B8 -_080F7476: - ldr r0, [r5] - ldrh r0, [r0] - adds r0, r4, r0 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x2 - bls _080F7476 - ldr r4, _080F74FC @ =gUnknown_020388B8 - ldr r0, [r4] - ldrh r0, [r0, 0x2] - bl FreeSpritePaletteByTag - ldr r0, [r4] - ldrh r0, [r0, 0x2] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - movs r4, 0 -_080F74A8: - ldr r0, _080F74FC @ =gUnknown_020388B8 - ldr r0, [r0] - lsls r1, r4, 2 - adds r0, 0xC - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080F74F6 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080F74A8 - movs r4, 0 -_080F74C8: - ldr r5, _080F74FC @ =gUnknown_020388B8 - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, 0x14 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080F74F6 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080F74C8 - bl DestroyMenuCursor - ldr r0, [r5] - ldr r0, [r0, 0x24] - cmp r0, 0 - beq _080F74F6 - bl DestroySprite -_080F74F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F74FC: .4byte gUnknown_020388B8 - thumb_func_end sub_80F7470 - - thumb_func_start sub_80F7500 -sub_80F7500: @ 80F7500 - push {r4,r5,lr} - sub sp, 0x30 - ldr r4, _080F7580 @ =gUnknown_020388B8 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x30 - str r0, [sp, 0x18] - add r1, sp, 0x1C - movs r5, 0 - movs r0, 0x80 - lsls r0, 5 - strh r0, [r1] - ldrh r1, [r2] - mov r0, sp - adds r0, 0x1E - strh r1, [r0] - add r1, sp, 0x20 - ldr r0, _080F7584 @ =gPokenavConditionMenuMisc_Gfx - str r0, [sp, 0x20] - movs r0, 0xA4 - lsls r0, 3 - strh r0, [r1, 0x4] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r1, 0x6] - add r0, sp, 0x28 - movs r1, 0 - movs r2, 0x8 - bl memset - add r1, sp, 0x18 - mov r0, sp - movs r2, 0x18 - bl memcpy - ldr r0, [r4] - ldrb r0, [r0, 0xB] - cmp r0, 0 - beq _080F7558 - mov r0, sp - bl LoadTilesForSpriteSheets - ldr r0, [r4] - strb r5, [r0, 0xB] -_080F7558: - ldr r0, _080F7588 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080F758C - movs r0, 0x5 - bl PlaySE - ldr r1, [r4] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - lsls r0, 24 - cmp r0, 0 - bge _080F75FE - ldr r1, [r4] - movs r0, 0x5 - strb r0, [r1, 0x5] - b _080F75FE - .align 2, 0 -_080F7580: .4byte gUnknown_020388B8 -_080F7584: .4byte gPokenavConditionMenuMisc_Gfx -_080F7588: .4byte gMain -_080F758C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080F75B0 - movs r0, 0x5 - bl PlaySE - ldr r1, [r4] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - ble _080F75FE - ldr r0, [r4] - strb r5, [r0, 0x5] - b _080F75FE -_080F75B0: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F7602 - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - movs r1, 0x5 - ldrsb r1, [r0, r1] - cmp r1, 0x4 - beq _080F75DC - cmp r1, 0x5 - beq _080F7610 - adds r0, 0x6 - adds r1, r0, r1 - movs r2, 0 - ldrb r0, [r1] - cmp r0, 0 - bne _080F75FC - movs r2, 0x1 - b _080F75FC -_080F75DC: - strb r5, [r0, 0x4] - movs r3, 0 -_080F75E0: - ldr r2, [r4] - adds r0, r2, 0x6 - adds r0, r3 - ldrb r0, [r0] - lsls r0, r3 - ldrb r1, [r2, 0x4] - orrs r0, r1 - strb r0, [r2, 0x4] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080F75E0 - b _080F7610 -_080F75FC: - strb r2, [r1] -_080F75FE: - movs r0, 0x1 - b _080F7612 -_080F7602: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080F75FE - movs r0, 0x5 - bl PlaySE -_080F7610: - movs r0, 0 -_080F7612: - add sp, 0x30 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80F7500 - - thumb_func_start sub_80F761C -sub_80F761C: @ 80F761C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x5C - adds r5, r2, 0 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4C] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x50] - lsls r5, 16 - lsrs r5, 16 - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x54] - ldr r0, _080F7820 @ =gUnknown_020388B8 - mov r8, r0 - ldr r0, [r0] - adds r0, 0x30 - str r0, [sp, 0x1C] - add r1, sp, 0x20 - movs r2, 0 - mov r9, r2 - movs r0, 0x80 - lsls r0, 5 - strh r0, [r1] - mov r0, sp - adds r0, 0x22 - strh r5, [r0] - add r1, sp, 0x24 - ldr r0, _080F7824 @ =gPokenavConditionMenuMisc_Gfx - str r0, [sp, 0x24] - movs r0, 0xA4 - lsls r0, 3 - strh r0, [r1, 0x4] - adds r0, r5, 0x1 - strh r0, [r1, 0x6] - add r0, sp, 0x2C - movs r1, 0 - movs r2, 0x8 - bl memset - add r6, sp, 0x1C - add r0, sp, 0x4 - adds r1, r6, 0 - movs r2, 0x18 - bl memcpy - mov r3, r8 - ldr r0, [r3] - ldr r0, [r0, 0x2C] - str r0, [sp, 0x34] - add r0, sp, 0x38 - add r1, sp, 0x54 - ldrh r1, [r1] - strh r1, [r0] - add r1, sp, 0x3C - ldr r0, _080F7828 @ =gUnknown_08E966B8 - str r0, [sp, 0x3C] - ldr r0, [sp, 0x54] - adds r0, 0x1 - strh r0, [r1, 0x4] - add r0, sp, 0x44 - movs r1, 0 - movs r2, 0x8 - bl memset - add r4, sp, 0x34 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x18 - bl memcpy - strh r5, [r4] - add r2, sp, 0x54 - ldrh r2, [r2] - strh r2, [r4, 0x2] - ldr r0, _080F782C @ =gOamData_83E5214 - str r0, [r4, 0x4] - ldr r0, _080F7830 @ =gSpriteAnimTable_83E52AC - str r0, [r4, 0x8] - mov r3, r9 - str r3, [r4, 0xC] - ldr r0, _080F7834 @ =gDummySpriteAffineAnimTable - str r0, [r4, 0x10] - ldr r0, _080F7838 @ =nullsub_65 - str r0, [r4, 0x14] - mov r0, r8 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0xB] - add r0, sp, 0x4 - bl AllocTilesForSpriteSheets - adds r0, r6, 0 - bl LoadSpritePalettes - movs r5, 0 - ldr r1, [sp, 0x4C] - lsls r0, r1, 16 - movs r2, 0x80 - lsls r2, 14 - adds r2, r0 - mov r8, r2 - str r0, [sp, 0x58] - ldr r3, [sp, 0x50] - lsls r0, r3, 16 - movs r1, 0x80 - lsls r1, 14 - adds r7, r0, r1 - mov r9, r0 -_080F7700: - adds r0, r4, 0 - mov r2, r8 - asrs r1, r2, 16 - asrs r2, r7, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - bne _080F7718 - b _080F7850 -_080F7718: - ldr r6, _080F7820 @ =gUnknown_020388B8 - ldr r2, [r6] - lsls r0, r5, 2 - adds r2, 0xC - adds r2, r0 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r1, _080F783C @ =gSprites - adds r0, r1 - str r0, [r2] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080F7700 - ldr r0, [r6] - ldr r1, [r0, 0x10] - mov r3, r9 - asrs r0, r3, 16 - adds r0, 0x60 - strh r0, [r1, 0x22] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - ldr r0, _080F7840 @ =gSpriteAnimTable_83E5274 - str r0, [r4, 0x8] - ldr r0, _080F7844 @ =sub_80F78CC - str r0, [r4, 0x14] - ldr r0, _080F7848 @ =gOamData_83E521C - str r0, [r4, 0x4] - movs r5, 0 - ldr r0, [sp, 0x58] - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - mov r10, r0 -_080F7770: - lsls r2, r5, 4 - adds r2, 0x10 - mov r3, r9 - asrs r3, 16 - mov r8, r3 - add r2, r8 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - mov r3, r10 - asrs r1, r3, 16 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _080F7860 - ldr r6, _080F7820 @ =gUnknown_020388B8 - ldr r1, [r6] - lsls r0, r5, 2 - adds r1, 0x14 - adds r1, r0 - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - ldr r7, _080F783C @ =gSprites - adds r0, r7 - str r0, [r1] - strh r5, [r0, 0x2E] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080F7770 - ldr r0, _080F784C @ =SpriteCallbackDummy - str r0, [r4, 0x14] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x40 - beq _080F7874 - ldr r1, [r6] - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r7 - str r0, [r1, 0x24] - ldrb r2, [r0, 0x1] - movs r1, 0x3F - ands r1, r2 - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r6] - ldr r2, [r0, 0x24] - ldrb r0, [r2, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r2, 0x3] - ldr r0, [r6] - ldr r0, [r0, 0x24] - movs r1, 0x9 - bl StartSpriteAnim - ldr r1, [r6] - ldr r2, [r1, 0x24] - ldr r3, [sp, 0x58] - asrs r0, r3, 16 -.ifdef ENGLISH - adds r0, 0x20 -.else - adds r0, 0x18 -.endif - strh r0, [r2, 0x20] - ldr r2, [r1, 0x24] - mov r0, r8 - adds r0, 0x50 - strh r0, [r2, 0x22] - ldr r0, [r1, 0x24] - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0 - bl CalcCenterToCornerVec - b _080F787A - .align 2, 0 -_080F7820: .4byte gUnknown_020388B8 -_080F7824: .4byte gPokenavConditionMenuMisc_Gfx -_080F7828: .4byte gUnknown_08E966B8 -_080F782C: .4byte gOamData_83E5214 -_080F7830: .4byte gSpriteAnimTable_83E52AC -_080F7834: .4byte gDummySpriteAffineAnimTable -_080F7838: .4byte nullsub_65 -_080F783C: .4byte gSprites -_080F7840: .4byte gSpriteAnimTable_83E5274 -_080F7844: .4byte sub_80F78CC -_080F7848: .4byte gOamData_83E521C -_080F784C: .4byte SpriteCallbackDummy -_080F7850: - ldr r0, _080F785C @ =gUnknown_020388B8 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0xC - b _080F7868 - .align 2, 0 -_080F785C: .4byte gUnknown_020388B8 -_080F7860: - ldr r0, _080F7870 @ =gUnknown_020388B8 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x14 -_080F7868: - adds r0, r1 - movs r1, 0 - str r1, [r0] - b _080F78B0 - .align 2, 0 -_080F7870: .4byte gUnknown_020388B8 -_080F7874: - ldr r1, [r6] - movs r0, 0 - str r0, [r1, 0x24] -_080F787A: - ldr r4, _080F78C0 @ =gUnknown_020388B8 - ldr r1, [r4] - ldr r0, [sp, 0x50] - adds r0, 0x8 - strb r0, [r1, 0xA] - ldr r1, [sp, 0x54] - adds r1, 0x1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x30 - str r0, [sp] - movs r0, 0 - movs r2, 0xF - movs r3, 0 - bl sub_814A5C0 - ldr r0, [sp, 0x4C] - adds r0, 0x8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - ldrb r1, [r1, 0xA] - bl sub_814A880 - ldr r0, _080F78C4 @ =sub_80F7908 - bl sub_814AABC -_080F78B0: - add sp, 0x5C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F78C0: .4byte gUnknown_020388B8 -_080F78C4: .4byte sub_80F7908 - thumb_func_end sub_80F761C - - thumb_func_start nullsub_65 -nullsub_65: @ 80F78C8 - bx lr - thumb_func_end nullsub_65 - - thumb_func_start sub_80F78CC -sub_80F78CC: @ 80F78CC - push {lr} - adds r2, r0, 0 - ldr r0, _080F78F4 @ =gUnknown_020388B8 - ldr r0, [r0] - movs r3, 0x2E - ldrsh r1, [r2, r3] - adds r0, 0x6 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080F78F8 - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim - b _080F7902 - .align 2, 0 -_080F78F4: .4byte gUnknown_020388B8 -_080F78F8: - lsls r1, 25 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim -_080F7902: - pop {r0} - bx r0 - thumb_func_end sub_80F78CC - - thumb_func_start sub_80F7908 -sub_80F7908: @ 80F7908 - ldr r1, _080F791C @ =gUnknown_020388B8 - ldr r2, [r1] - movs r1, 0x5 - ldrsb r1, [r2, r1] - lsls r1, 4 - ldrb r2, [r2, 0xA] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_080F791C: .4byte gUnknown_020388B8 - thumb_func_end sub_80F7908 - - thumb_func_start sub_80F7920 -sub_80F7920: @ 80F7920 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r2, 0 - bne _080F7930 - ldr r2, _080F793C @ =gUnknown_083E49F4 -_080F7930: - movs r3, 0x10 - bl sub_80F7960 - pop {r1} - bx r1 - .align 2, 0 -_080F793C: .4byte gUnknown_083E49F4 - thumb_func_end sub_80F7920 - - thumb_func_start sub_80F7940 -sub_80F7940: @ 80F7940 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - cmp r2, 0 - bne _080F7950 - ldr r2, _080F795C @ =gUnknown_083E49F4 -_080F7950: - movs r3, 0x1 - bl sub_80F7960 - pop {r1} - bx r1 - .align 2, 0 -_080F795C: .4byte gUnknown_083E49F4 - thumb_func_end sub_80F7940 - - thumb_func_start sub_80F7960 -sub_80F7960: @ 80F7960 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x28 - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _080F79DC @ =gUnknown_083E4A14 - str r4, [sp, 0x18] - movs r4, 0x80 - add r5, sp, 0x18 - lsrs r6, r0, 16 - orrs r0, r4 - str r0, [r5, 0x4] - str r2, [sp, 0x20] - ldr r0, _080F79E0 @ =0xffff0000 - mov r8, r0 - add r4, sp, 0x20 - ldr r0, [r4, 0x4] - mov r2, r8 - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - movs r2, 0 - strh r6, [r0] - strh r1, [r0, 0x2] - ldr r0, _080F79E4 @ =gOamData_83E52B4 - str r0, [sp, 0x4] - ldr r0, _080F79E8 @ =gSpriteAnimTable_83E533C - str r0, [sp, 0x8] - str r2, [sp, 0xC] - ldr r0, _080F79EC @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, _080F79F0 @ =nullsub_65 - str r0, [sp, 0x14] - lsls r3, 23 - lsrs r3, 16 - ldr r0, [r5, 0x4] - mov r1, r8 - ands r0, r1 - orrs r0, r3 - str r0, [r5, 0x4] - adds r0, r5, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - bne _080F79F4 - movs r0, 0 - b _080F79FE - .align 2, 0 -_080F79DC: .4byte gUnknown_083E4A14 -_080F79E0: .4byte 0xffff0000 -_080F79E4: .4byte gOamData_83E52B4 -_080F79E8: .4byte gSpriteAnimTable_83E533C -_080F79EC: .4byte gDummySpriteAffineAnimTable -_080F79F0: .4byte nullsub_65 -_080F79F4: - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080F7A0C @ =gSprites - adds r0, r1 -_080F79FE: - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080F7A0C: .4byte gSprites - thumb_func_end sub_80F7960 - - thumb_func_start sub_80F7A10 -sub_80F7A10: @ 80F7A10 - lsls r0, 24 - lsrs r0, 17 - ldr r2, _080F7A28 @ =gUnknown_083E4A14 - adds r0, r2 - ldr r2, _080F7A2C @ =0x040000d4 - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _080F7A30 @ =0x80000040 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - bx lr - .align 2, 0 -_080F7A28: .4byte gUnknown_083E4A14 -_080F7A2C: .4byte 0x040000d4 -_080F7A30: .4byte 0x80000040 - thumb_func_end sub_80F7A10 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s deleted file mode 100644 index 5aa8b5901..000000000 --- a/asm/pokemon_icon.s +++ /dev/null @@ -1,788 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start unref_sub_809D26C -unref_sub_809D26C: @ 809D26C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - adds r6, r3, 0 - ldr r3, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, sp - ldr r4, _0809D2E0 @ =gOamData_83BC5E8 - str r4, [sp] - ldr r5, _0809D2E4 @ =gMonIconTable - lsls r4, r0, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp, 0x4] - ldr r4, _0809D2E8 @ =gSpriteAnimTable_83BC62C - str r4, [sp, 0x8] - ldr r4, _0809D2EC @ =gSpriteAffineAnimTable_83BC660 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - ldr r1, _0809D2F0 @ =gMonIconPaletteIndices - adds r0, r1 - ldr r4, _0809D2F4 @ =0x0000dac0 - adds r1, r4, 0 - ldrb r0, [r0] - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x14] - lsls r2, 16 - asrs r2, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r2, 0 - adds r2, r6, 0 - bl CreateMonIconSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D2F8 @ =gSprites - adds r0, r1 - bl UpdateMonIconFrame - adds r0, r4, 0 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D2E0: .4byte gOamData_83BC5E8 -_0809D2E4: .4byte gMonIconTable -_0809D2E8: .4byte gSpriteAnimTable_83BC62C -_0809D2EC: .4byte gSpriteAffineAnimTable_83BC660 -_0809D2F0: .4byte gMonIconPaletteIndices -_0809D2F4: .4byte 0x0000dac0 -_0809D2F8: .4byte gSprites - thumb_func_end unref_sub_809D26C - - thumb_func_start CreateMonIcon -CreateMonIcon: @ 809D2FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x30 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [sp, 0x48] - ldr r1, [sp, 0x4C] - lsls r4, 16 - lsrs r4, 16 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0809D38C @ =gOamData_83BC5E8 - str r0, [sp, 0x18] - adds r0, r4, 0 - bl GetMonIconPtr - str r0, [sp, 0x1C] - ldr r0, _0809D390 @ =gSpriteAnimTable_83BC62C - str r0, [sp, 0x20] - ldr r0, _0809D394 @ =gSpriteAffineAnimTable_83BC660 - str r0, [sp, 0x24] - str r5, [sp, 0x28] - ldr r0, _0809D398 @ =gMonIconPaletteIndices - adds r0, r4, r0 - ldr r1, _0809D39C @ =0x0000dac0 - adds r5, r1, 0 - ldrb r0, [r0] - adds r1, r5, r0 - add r0, sp, 0x2C - strh r1, [r0] - add r1, sp, 0x18 - mov r0, sp - movs r2, 0x18 - bl memcpy - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _0809D35A - mov r0, sp - strh r5, [r0, 0x14] -_0809D35A: - lsls r1, r7, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r2, 16 - mov r0, sp - mov r3, r8 - bl CreateMonIconSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D3A0 @ =gSprites - adds r0, r1 - bl UpdateMonIconFrame - adds r0, r4, 0 - add sp, 0x30 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809D38C: .4byte gOamData_83BC5E8 -_0809D390: .4byte gSpriteAnimTable_83BC62C -_0809D394: .4byte gSpriteAffineAnimTable_83BC660 -_0809D398: .4byte gMonIconPaletteIndices -_0809D39C: .4byte 0x0000dac0 -_0809D3A0: .4byte gSprites - thumb_func_end CreateMonIcon - - thumb_func_start sub_809D3A4 -sub_809D3A4: @ 809D3A4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x18 - adds r6, r3, 0 - ldr r3, [sp, 0x2C] - lsls r0, 16 - lsrs r0, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, sp - ldr r4, _0809D418 @ =gOamData_83BC5E8 - str r4, [sp] - ldr r5, _0809D41C @ =gMonIconTable - lsls r4, r0, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp, 0x4] - ldr r4, _0809D420 @ =gSpriteAnimTable_83BC62C - str r4, [sp, 0x8] - ldr r4, _0809D424 @ =gSpriteAffineAnimTable_83BC660 - str r4, [sp, 0xC] - str r1, [sp, 0x10] - ldr r1, _0809D428 @ =gMonIconPaletteIndices - adds r0, r1 - ldr r4, _0809D42C @ =0x0000dac0 - adds r1, r4, 0 - ldrb r0, [r0] - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x14] - lsls r2, 16 - asrs r2, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r2, 0 - adds r2, r6, 0 - bl CreateMonIconSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _0809D430 @ =gSprites - adds r0, r1 - bl UpdateMonIconFrame - adds r0, r4, 0 - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D418: .4byte gOamData_83BC5E8 -_0809D41C: .4byte gMonIconTable -_0809D420: .4byte gSpriteAnimTable_83BC62C -_0809D424: .4byte gSpriteAffineAnimTable_83BC660 -_0809D428: .4byte gMonIconPaletteIndices -_0809D42C: .4byte 0x0000dac0 -_0809D430: .4byte gSprites - thumb_func_end sub_809D3A4 - - thumb_func_start mon_icon_convert_unown_species_id -mon_icon_convert_unown_species_id: @ 809D434 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, SPECIES_UNOWN - bne _0809D45E - adds r0, r1, 0 - bl GetUnownLetterByPersonality - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0809D450 - movs r0, SPECIES_UNOWN - b _0809D45A -_0809D450: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_0809D45A: - adds r1, r0, 0 - b _0809D46C -_0809D45E: - movs r0, 0xCE - lsls r0, 1 - adds r1, r2, 0 - cmp r1, r0 - bls _0809D46C - movs r1, 0x82 - lsls r1, 1 -_0809D46C: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end mon_icon_convert_unown_species_id - - thumb_func_start GetUnownLetterByPersonality -GetUnownLetterByPersonality: @ 809D474 - push {lr} - adds r2, r0, 0 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end GetUnownLetterByPersonality - - thumb_func_start sub_809D4A8 -sub_809D4A8: @ 809D4A8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - mov r1, sp - bl MailSpeciesToSpecies - lsls r0, 16 - lsrs r0, 16 - cmp r0, SPECIES_UNOWN - bne _0809D4DE - mov r0, sp - ldrh r0, [r0] - cmp r0, 0 - bne _0809D4CE - mov r1, sp - adds r0, SPECIES_UNOWN - b _0809D4D6 -_0809D4CE: - mov r1, sp - movs r2, 0xCE - lsls r2, 1 - adds r0, r2 -_0809D4D6: - strh r0, [r1] - mov r0, sp - ldrh r0, [r0] - b _0809D4EA -_0809D4DE: - adds r0, r4, 0 - movs r1, 0 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - lsrs r0, 16 -_0809D4EA: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809D4A8 - - thumb_func_start GetMonIconPtr -GetMonIconPtr: @ 809D4F4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl mon_icon_convert_unown_species_id - lsls r0, 16 - ldr r1, _0809D50C @ =gMonIconTable - lsrs r0, 14 - adds r0, r1 - ldr r0, [r0] - pop {r1} - bx r1 - .align 2, 0 -_0809D50C: .4byte gMonIconTable - thumb_func_end GetMonIconPtr - - thumb_func_start sub_809D510 -sub_809D510: @ 809D510 - push {lr} - bl sub_809D7E8 - pop {r0} - bx r0 - thumb_func_end sub_809D510 - - thumb_func_start sub_809D51C -sub_809D51C: @ 809D51C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0809D53C @ =gMonIconPaletteTable -_0809D522: - lsls r0, r4, 3 - adds r0, r5 - bl LoadSpritePalette - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0809D522 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D53C: .4byte gMonIconPaletteTable - thumb_func_end sub_809D51C - - thumb_func_start unref_sub_809D540 -unref_sub_809D540: @ 809D540 - push {r4,lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _0809D552 - movs r1, 0x82 - lsls r1, 1 -_0809D552: - ldr r0, _0809D578 @ =gMonIconPaletteIndices - adds r0, r1, r0 - ldrb r0, [r0] - ldr r1, _0809D57C @ =gMonIconPaletteTable - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809D572 - adds r0, r4, 0 - bl LoadSpritePalette -_0809D572: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809D578: .4byte gMonIconPaletteIndices -_0809D57C: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D540 - - thumb_func_start sub_809D580 -sub_809D580: @ 809D580 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0809D5AC @ =gMonIconPaletteIndices - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0809D5B0 @ =gMonIconPaletteTable - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0809D5A6 - adds r0, r4, 0 - bl LoadSpritePalette -_0809D5A6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809D5AC: .4byte gMonIconPaletteIndices -_0809D5B0: .4byte gMonIconPaletteTable - thumb_func_end sub_809D580 - - thumb_func_start unref_sub_809D5B4 -unref_sub_809D5B4: @ 809D5B4 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0809D5D4 @ =gMonIconPaletteTable -_0809D5BA: - lsls r0, r4, 3 - adds r0, r5 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _0809D5BA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D5D4: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D5B4 - - thumb_func_start unref_sub_809D5D8 -unref_sub_809D5D8: @ 809D5D8 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bls _0809D5EA - movs r1, 0x82 - lsls r1, 1 -_0809D5EA: - ldr r0, _0809D600 @ =gMonIconPaletteIndices - adds r0, r1, r0 - ldrb r0, [r0] - ldr r1, _0809D604 @ =gMonIconPaletteTable - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0809D600: .4byte gMonIconPaletteIndices -_0809D604: .4byte gMonIconPaletteTable - thumb_func_end unref_sub_809D5D8 - - thumb_func_start sub_809D608 -sub_809D608: @ 809D608 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0809D624 @ =gMonIconPaletteIndices - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0809D628 @ =gMonIconPaletteTable - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0809D624: .4byte gMonIconPaletteIndices -_0809D628: .4byte gMonIconPaletteTable - thumb_func_end sub_809D608 - - thumb_func_start sub_809D62C -sub_809D62C: @ 809D62C - push {lr} - bl UpdateMonIconFrame - pop {r0} - bx r0 - thumb_func_end sub_809D62C - - thumb_func_start UpdateMonIconFrame -UpdateMonIconFrame: @ 809D638 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r7, 0 - adds r6, r4, 0 - adds r6, 0x2C - ldrb r2, [r6] - movs r0, 0x3F - mov r9, r0 - ands r0, r2 - cmp r0, 0 - bne _0809D6EC - movs r1, 0x2A - adds r1, r4 - mov r8, r1 - ldrb r1, [r1] - ldr r0, [r4, 0x8] - lsls r1, 2 - adds r1, r0 - adds r5, r4, 0 - adds r5, 0x2B - ldrb r0, [r5] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - movs r1, 0 - ldrsh r3, [r0, r1] - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _0809D682 - adds r0, 0x1 - cmp r3, r0 - bne _0809D686 - b _0809D700 -_0809D682: - strb r7, [r5] - b _0809D700 -_0809D686: - ldr r2, _0809D6E4 @ =gSpriteImageSizes - ldrb r1, [r4, 0x3] - lsrs r1, 6 - lsls r1, 1 - ldrb r0, [r4, 0x1] - lsrs r0, 6 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrh r2, [r1] - adds r1, r2, 0 - muls r1, r3 - ldr r0, [r4, 0xC] - adds r0, r1 - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 17 - ldr r3, _0809D6E8 @ =0x06010000 - adds r1, r3 - bl RequestSpriteCopy - mov r0, r8 - ldrb r1, [r0] - ldr r0, [r4, 0x8] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r5] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r0, 10 - lsrs r0, 26 - mov r1, r9 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - ldrb r7, [r5] - b _0809D700 - .align 2, 0 -_0809D6E4: .4byte gSpriteImageSizes -_0809D6E8: .4byte 0x06010000 -_0809D6EC: - lsls r0, r2, 26 - lsrs r0, 26 - subs r0, 0x1 - movs r1, 0x3F - ands r0, r1 - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6] -_0809D700: - adds r0, r7, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end UpdateMonIconFrame - - thumb_func_start CreateMonIconSprite -CreateMonIconSprite: @ 809D710 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x38 - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - str r0, [sp, 0x30] - ldr r2, _0809D7D8 @ =gSpriteImageSizes - mov r0, r9 - ldr r6, [r0] - ldrb r1, [r6, 0x3] - lsrs r1, 6 - lsls r1, 1 - ldrb r0, [r6, 0x1] - lsrs r0, 6 - lsls r0, 3 - adds r1, r0 - adds r1, r2 - ldrh r2, [r1] - ldr r1, _0809D7DC @ =0xffff0000 - add r3, sp, 0x30 - ldr r0, [r3, 0x4] - ands r0, r1 - orrs r0, r2 - str r0, [r3, 0x4] - add r1, sp, 0x18 - ldr r0, _0809D7E0 @ =0x0000ffff - strh r0, [r1] - mov r0, r9 - ldrh r2, [r0, 0x14] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - str r6, [sp, 0x1C] - mov r2, r9 - ldr r0, [r2, 0x8] - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, [r2, 0xC] - str r0, [sp, 0x28] - ldr r0, [r2, 0x10] - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - mov r3, r8 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0809D7E4 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r4, r3, r6 - adds r5, r4, 0 - adds r5, 0x2C - ldrb r1, [r5] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r5] - adds r4, 0x3F - ldrb r2, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r4] - adds r6, 0xC - adds r3, r6 - mov r2, r9 - ldr r1, [r2, 0x4] - str r1, [r3] - add sp, 0x38 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809D7D8: .4byte gSpriteImageSizes -_0809D7DC: .4byte 0xffff0000 -_0809D7E0: .4byte 0x0000ffff -_0809D7E4: .4byte gSprites - thumb_func_end CreateMonIconSprite - - thumb_func_start sub_809D7E8 -sub_809D7E8: @ 809D7E8 - push {lr} - sub sp, 0x8 - movs r1, 0 - str r1, [sp] - ldr r3, _0809D81C @ =gSpriteImageSizes - ldrb r2, [r0, 0x3] - lsrs r2, 6 - lsls r2, 1 - ldrb r1, [r0, 0x1] - lsrs r1, 6 - lsls r1, 3 - adds r2, r1 - adds r2, r3 - ldrh r3, [r2] - ldr r2, _0809D820 @ =0xffff0000 - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r3 - str r1, [sp, 0x4] - mov r1, sp - str r1, [r0, 0xC] - bl DestroySprite - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809D81C: .4byte gSpriteImageSizes -_0809D820: .4byte 0xffff0000 - thumb_func_end sub_809D7E8 - - thumb_func_start sub_809D824 -sub_809D824: @ 809D824 - mov r12, r0 - adds r0, 0x2A - movs r3, 0 - strb r1, [r0] - mov r2, r12 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r0, r12 - adds r0, 0x2B - strb r3, [r0] - bx lr - thumb_func_end sub_809D824 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s deleted file mode 100644 index 2fbc559c8..000000000 --- a/asm/reset_rtc_screen.s +++ /dev/null @@ -1,1300 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start SpriteCB_ResetRtcCusor0 -SpriteCB_ResetRtcCusor0: @ 806A480 - push {lr} - adds r3, r0, 0 - ldr r2, _0806A4B0 @ =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0806A596 - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0806A596 - lsls r0, 2 - ldr r1, _0806A4B4 @ =_0806A4B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806A4B0: .4byte gTasks -_0806A4B4: .4byte _0806A4B8 - .align 2, 0 -_0806A4B8: - .4byte _0806A4D0 - .4byte _0806A4F4 - .4byte _0806A518 - .4byte _0806A53C - .4byte _0806A566 - .4byte _0806A590 -_0806A4D0: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0806A55E -_0806A4F4: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0806A55E -_0806A518: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x6B - b _0806A55E -_0806A53C: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x1 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x41 - ands r0, r1 - strb r0, [r2] - movs r0, 0x80 -_0806A55E: - strh r0, [r3, 0x20] - movs r0, 0x44 - strh r0, [r3, 0x22] - b _0806A596 -_0806A566: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0x2 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x42 - ands r0, r1 - strb r0, [r2] - movs r0, 0x9B - strh r0, [r3, 0x20] - movs r0, 0x50 - strh r0, [r3, 0x22] - b _0806A596 -_0806A590: - adds r0, r3, 0 - bl DestroySprite -_0806A596: - pop {r0} - bx r0 - thumb_func_end SpriteCB_ResetRtcCusor0 - - thumb_func_start SpriteCB_ResetRtcCusor1 -SpriteCB_ResetRtcCusor1: @ 806A59C - push {lr} - adds r3, r0, 0 - ldr r2, _0806A5CC @ =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0xC - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - beq _0806A696 - strh r1, [r3, 0x30] - subs r0, r1, 0x1 - cmp r0, 0x5 - bhi _0806A696 - lsls r0, 2 - ldr r1, _0806A5D0 @ =_0806A5D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806A5CC: .4byte gTasks -_0806A5D0: .4byte _0806A5D4 - .align 2, 0 -_0806A5D4: - .4byte _0806A5EC - .4byte _0806A610 - .4byte _0806A634 - .4byte _0806A658 - .4byte _0806A682 - .4byte _0806A690 -_0806A5EC: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x35 - b _0806A67A -_0806A610: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x56 - b _0806A67A -_0806A634: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x6B - b _0806A67A -_0806A658: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r1, r3, 0 - adds r1, 0x2A - movs r0, 0 - strb r0, [r1] - subs r2, 0x12 - ldrb r1, [r2] - subs r0, 0x40 - ands r0, r1 - strb r0, [r2] - movs r0, 0x80 -_0806A67A: - strh r0, [r3, 0x20] - movs r0, 0x5C - strh r0, [r3, 0x22] - b _0806A696 -_0806A682: - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0806A696 -_0806A690: - adds r0, r3, 0 - bl DestroySprite -_0806A696: - pop {r0} - bx r0 - thumb_func_end SpriteCB_ResetRtcCusor1 - - thumb_func_start ResetRtcScreen_CreateCursor -ResetRtcScreen_CreateCursor: @ 806A69C - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0806A70C @ =gUnknown_083764BC - bl LoadSpritePalette - ldr r0, _0806A710 @ =gSpriteTemplate_83764E8 - mov r8, r0 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - ldr r6, _0806A714 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r6, 0 - adds r4, 0x1C - adds r2, r0, r4 - ldr r1, _0806A718 @ =SpriteCB_ResetRtcCusor0 - str r1, [r2] - adds r0, r6 - strh r5, [r0, 0x2E] - ldr r1, _0806A71C @ =0x0000ffff - strh r1, [r0, 0x30] - mov r0, r8 - movs r1, 0x35 - movs r2, 0x44 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r4 - ldr r1, _0806A720 @ =SpriteCB_ResetRtcCusor1 - str r1, [r4] - adds r0, r6 - strh r5, [r0, 0x2E] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806A70C: .4byte gUnknown_083764BC -_0806A710: .4byte gSpriteTemplate_83764E8 -_0806A714: .4byte gSprites -_0806A718: .4byte SpriteCB_ResetRtcCusor0 -_0806A71C: .4byte 0x0000ffff -_0806A720: .4byte SpriteCB_ResetRtcCusor1 - thumb_func_end ResetRtcScreen_CreateCursor - - thumb_func_start ResetRtcScreen_FreeCursorPalette -ResetRtcScreen_FreeCursorPalette: @ 806A724 - push {lr} - ldr r0, _0806A734 @ =gUnknown_083764BC - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_0806A734: .4byte gUnknown_083764BC - thumb_func_end ResetRtcScreen_FreeCursorPalette - - thumb_func_start ResetRtcScreen_HideChooseTimeWindow -ResetRtcScreen_HideChooseTimeWindow: @ 806A738 - push {lr} - movs r0, 0x3 - movs r1, 0x8 - movs r2, 0x19 - movs r3, 0xB - bl MenuZeroFillWindowRect - pop {r0} - bx r0 - thumb_func_end ResetRtcScreen_HideChooseTimeWindow - - thumb_func_start ResetRtcScreen_PrintTime -ResetRtcScreen_PrintTime: @ 806A74C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - adds r0, r2, 0 - adds r4, r3, 0 - ldr r6, [sp, 0x24] - ldr r2, [sp, 0x28] - mov r9, r2 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - ldr r7, _0806A83C @ =gStringVar4 - ldr r1, _0806A840 @ =0x00002710 - bl __umodsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0x18 - bl __umodsi3 - mov r8, r0 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - adds r0, r6, 0 - movs r1, 0x3C - bl __umodsi3 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - mov r0, r9 - movs r1, 0x3C - bl __umodsi3 - mov r9, r0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r4, _0806A844 @ =gStringVar1 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x18 - movs r3, 0x1 - bl sub_8072C44 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r1, _0806A848 @ =gOtherText_Day - bl StringCopy - adds r7, r0, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0x12 - movs r3, 0x1 - bl sub_8072C44 - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - ldr r4, _0806A84C @ =gUnknown_08376500 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r7, r0, 0 - adds r1, r4, 0 - bl StringCopy - adds r7, r0, 0 - mov r1, r9 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0806A83C @ =gStringVar4 - mov r1, r10 - ldr r2, [sp] - bl MenuPrint - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806A83C: .4byte gStringVar4 -_0806A840: .4byte 0x00002710 -_0806A844: .4byte gStringVar1 -_0806A848: .4byte gOtherText_Day -_0806A84C: .4byte gUnknown_08376500 - thumb_func_end ResetRtcScreen_PrintTime - - thumb_func_start ResetRtcScreen_ShowChooseTimeWindow -ResetRtcScreen_ShowChooseTimeWindow: @ 806A850 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r6, r0, 0 - mov r8, r1 - adds r4, r2, 0 - adds r5, r3, 0 - lsls r6, 16 - lsrs r6, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x3 - movs r1, 0x8 - movs r2, 0x19 - movs r3, 0xB - bl MenuDrawTextWindow - ldr r0, _0806A8A8 @ =gOtherText_OK - movs r1, 0x14 - movs r2, 0x9 - bl MenuPrint - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0x4 - movs r1, 0x9 - adds r2, r6, 0 - mov r3, r8 - bl ResetRtcScreen_PrintTime - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806A8A8: .4byte gOtherText_OK - thumb_func_end ResetRtcScreen_ShowChooseTimeWindow - - thumb_func_start ResetRtcScreen_MoveTimeUpDown -ResetRtcScreen_MoveTimeUpDown: @ 806A8AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r3, 16 - lsrs r3, 16 - adds r1, r3, 0 - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0806A8C6 - ldrh r0, [r4] - subs r0, 0x1 - b _0806A8E0 -_0806A8C6: - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - beq _0806A8D4 - ldrh r0, [r4] - adds r0, 0x1 - b _0806A8FE -_0806A8D4: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0806A8EE - ldrh r0, [r4] - subs r0, 0xA -_0806A8E0: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r5 - bge _0806A90A - strh r2, [r4] - b _0806A90A -_0806A8EE: - movs r0, 0x10 - ands r1, r0 - cmp r1, 0 - bne _0806A8FA - movs r0, 0 - b _0806A90C -_0806A8FA: - ldrh r0, [r4] - adds r0, 0xA -_0806A8FE: - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r2 - ble _0806A90A - strh r5, [r4] -_0806A90A: - movs r0, 0x1 -_0806A90C: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ResetRtcScreen_MoveTimeUpDown - - thumb_func_start Task_ResetRtc_3 -Task_ResetRtc_3: @ 806A914 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0806A928 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] - bx lr - .align 2, 0 -_0806A928: .4byte gTasks - thumb_func_end Task_ResetRtc_3 - - thumb_func_start Task_ResetRtc_2 -Task_ResetRtc_2: @ 806A92C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetRtcScreen_HideChooseTimeWindow - bl ResetRtcScreen_FreeCursorPalette - ldr r1, _0806A950 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806A954 @ =Task_ResetRtc_3 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806A950: .4byte gTasks -_0806A954: .4byte Task_ResetRtc_3 - thumb_func_end Task_ResetRtc_2 - - thumb_func_start Task_ResetRtc_1 -Task_ResetRtc_1: @ 806A958 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, _0806A99C @ =gTasks + 0x8 - mov r8, r0 - adds r5, r7, r0 - ldrb r4, [r5, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - ldr r1, _0806A9A0 @ =gUnknown_08376420 - 0xC - adds r2, r0, r1 - ldr r1, _0806A9A4 @ =gMain - ldrh r3, [r1, 0x2E] - movs r0, 0x2 - ands r0, r3 - mov r12, r1 - cmp r0, 0 - beq _0806A9AC - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0806A9A8 @ =Task_ResetRtc_2 - str r1, [r0] - movs r0, 0 - strh r0, [r5, 0x2] - movs r0, 0x6 - b _0806A9CC - .align 2, 0 -_0806A99C: .4byte gTasks + 0x8 -_0806A9A0: .4byte gUnknown_08376420 - 0xC -_0806A9A4: .4byte gMain -_0806A9A8: .4byte Task_ResetRtc_2 -_0806A9AC: - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _0806A9BA - ldrb r0, [r2, 0x7] - cmp r0, 0 - bne _0806A9CC -_0806A9BA: - mov r3, r12 - ldrh r1, [r3, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0806A9D6 - ldrb r0, [r2, 0x6] - cmp r0, 0 - beq _0806A9D6 -_0806A9CC: - strh r0, [r5, 0x4] - movs r0, 0x5 - bl PlaySE - b _0806AA58 -_0806A9D6: - cmp r4, 0x5 - bne _0806AA24 - mov r0, r12 - ldrh r1, [r0, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0806AA58 - ldr r1, _0806AA18 @ =gLocalTime - ldrh r0, [r5, 0x6] - strh r0, [r1] - ldrh r0, [r5, 0x8] - strb r0, [r1, 0x2] - ldrh r0, [r5, 0xA] - strb r0, [r1, 0x3] - ldrh r0, [r5, 0xC] - strb r0, [r1, 0x4] - movs r0, 0x5 - bl PlaySE - ldr r1, _0806AA1C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806AA20 @ =Task_ResetRtc_2 - str r1, [r0] - strh r4, [r5, 0x2] - movs r0, 0x6 - strh r0, [r5, 0x4] - b _0806AA58 - .align 2, 0 -_0806AA18: .4byte gLocalTime -_0806AA1C: .4byte gTasks -_0806AA20: .4byte Task_ResetRtc_2 -_0806AA24: - ldrb r0, [r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r1, [r2, 0x2] - ldrh r2, [r2, 0x4] - mov r3, r12 - ldrh r4, [r3, 0x30] - movs r3, 0xC0 - ands r3, r4 - bl ResetRtcScreen_MoveTimeUpDown - cmp r0, 0 - beq _0806AA58 - movs r0, 0x5 - bl PlaySE - ldrh r2, [r5, 0x6] - ldrb r3, [r5, 0x8] - ldrb r0, [r5, 0xA] - str r0, [sp] - ldrb r0, [r5, 0xC] - str r0, [sp, 0x4] - movs r0, 0x4 - movs r1, 0x9 - bl ResetRtcScreen_PrintTime -_0806AA58: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end Task_ResetRtc_1 - - thumb_func_start Task_ResetRtc_0 -Task_ResetRtc_0: @ 806AA64 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, r5, 2 - adds r6, r5 - lsls r6, 3 - ldr r0, _0806AACC @ =gTasks + 0x8 - mov r8, r0 - adds r4, r6, r0 - movs r0, 0 - strh r0, [r4] - ldr r3, _0806AAD0 @ =gLocalTime - ldrh r0, [r3] - strh r0, [r4, 0x6] - movs r1, 0x2 - ldrsb r1, [r3, r1] - strh r1, [r4, 0x8] - movs r2, 0x3 - ldrsb r2, [r3, r2] - strh r2, [r4, 0xA] - ldrb r3, [r3, 0x4] - lsls r3, 24 - asrs r3, 24 - strh r3, [r4, 0xC] - ldrh r0, [r4, 0x6] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - bl ResetRtcScreen_ShowChooseTimeWindow - adds r0, r5, 0 - bl ResetRtcScreen_CreateCursor - movs r0, 0x2 - strh r0, [r4, 0x4] - movs r0, 0x8 - negs r0, r0 - add r8, r0 - add r6, r8 - ldr r0, _0806AAD4 @ =Task_ResetRtc_1 - str r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806AACC: .4byte gTasks + 0x8 -_0806AAD0: .4byte gLocalTime -_0806AAD4: .4byte Task_ResetRtc_1 - thumb_func_end Task_ResetRtc_0 - - thumb_func_start CB2_InitResetRtcScreen -CB2_InitResetRtcScreen: @ 806AAD8 - push {r4-r7,lr} - sub sp, 0x4 - movs r0, 0x80 - lsls r0, 19 - movs r4, 0 - strh r4, [r0] - movs r0, 0 - bl SetVBlankCallback - movs r2, 0xA0 - lsls r2, 19 - mov r0, sp - strh r4, [r0] - ldr r1, _0806AB94 @ =0x040000d4 - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _0806AB98 @ =0x81000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0806AB9C @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0806AB16: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _0806AB16 - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - bl LoadOam - bl remove_some_task - bl dp12_8087EA4 - bl ResetSpriteData - bl ResetTasks - bl ResetPaletteFade - ldr r4, _0806ABA0 @ =gWindowConfig_81E6CE4 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - movs r1, 0x80 - lsls r1, 19 - movs r2, 0x88 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0806ABA4 @ =VBlankCB_ResetRtcScreen - bl SetVBlankCallback - ldr r0, _0806ABA8 @ =CB2_ResetRtcScreen - bl SetMainCallback2 - ldr r0, _0806ABAC @ =Task_ResetRtcScreen - movs r1, 0x50 - bl CreateTask - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806AB94: .4byte 0x040000d4 -_0806AB98: .4byte 0x81000200 -_0806AB9C: .4byte 0x81000800 -_0806ABA0: .4byte gWindowConfig_81E6CE4 -_0806ABA4: .4byte VBlankCB_ResetRtcScreen -_0806ABA8: .4byte CB2_ResetRtcScreen -_0806ABAC: .4byte Task_ResetRtcScreen - thumb_func_end CB2_InitResetRtcScreen - - thumb_func_start CB2_ResetRtcScreen -CB2_ResetRtcScreen: @ 806ABB0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end CB2_ResetRtcScreen - - thumb_func_start VBlankCB_ResetRtcScreen -VBlankCB_ResetRtcScreen: @ 806ABC8 - push {lr} - bl ProcessSpriteCopyRequests - bl LoadOam - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end VBlankCB_ResetRtcScreen - - thumb_func_start ResetRtcScreen_ShowMessage -ResetRtcScreen_ShowMessage: @ 806ABDC - push {r4,lr} - adds r4, r0, 0 - bl MenuDisplayMessageBox - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - thumb_func_end ResetRtcScreen_ShowMessage - - thumb_func_start Task_ShowResetRtcPrompt -Task_ShowResetRtcPrompt: @ 806ABF4 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0806AC14 @ =gTasks + 0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0806AC18 - cmp r0, 0x1 - beq _0806AC80 - b _0806ACC4 - .align 2, 0 -_0806AC14: .4byte gTasks + 0x8 -_0806AC18: - bl MenuZeroFillScreen - movs r0, 0 - movs r1, 0 - movs r2, 0x14 - movs r3, 0xA - bl MenuDrawTextWindow - ldr r0, _0806AC98 @ =gSystemText_PresentTime - movs r1, 0x1 - movs r2, 0x1 - bl MenuPrint - ldr r0, _0806AC9C @ =gLocalTime - ldrh r2, [r0] - ldrb r3, [r0, 0x2] - ldrb r1, [r0, 0x3] - str r1, [sp] - ldrb r0, [r0, 0x4] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x3 - bl ResetRtcScreen_PrintTime - ldr r0, _0806ACA0 @ =gSystemText_PreviousTime - movs r1, 0x1 - movs r2, 0x5 - bl MenuPrint - ldr r1, _0806ACA4 @ =gSaveBlock2 - adds r0, r1, 0 - adds r0, 0xA0 - ldrh r2, [r0] - adds r0, 0x2 - ldrb r3, [r0] - adds r0, 0x1 - ldrb r0, [r0] - str r0, [sp] - adds r0, r1, 0 - adds r0, 0xA4 - ldrb r0, [r0] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x7 - bl ResetRtcScreen_PrintTime - ldr r0, _0806ACA8 @ =gSystemText_ResetRTCPrompt - bl ResetRtcScreen_ShowMessage - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_0806AC80: - ldr r0, _0806ACAC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806ACB0 - adds r0, r5, 0 - bl DestroyTask - bl DoSoftReset - b _0806ACC4 - .align 2, 0 -_0806AC98: .4byte gSystemText_PresentTime -_0806AC9C: .4byte gLocalTime -_0806ACA0: .4byte gSystemText_PreviousTime -_0806ACA4: .4byte gSaveBlock2 -_0806ACA8: .4byte gSystemText_ResetRTCPrompt -_0806ACAC: .4byte gMain -_0806ACB0: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806ACC4 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask -_0806ACC4: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end Task_ShowResetRtcPrompt - - thumb_func_start Task_ResetRtcScreen -Task_ResetRtcScreen: @ 806ACCC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0806ACF4 @ =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x6 - bls _0806ACE8 - b _0806AEC4 -_0806ACE8: - lsls r0, 2 - ldr r1, _0806ACF8 @ =_0806ACFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806ACF4: .4byte gTasks + 0x8 -_0806ACF8: .4byte _0806ACFC - .align 2, 0 -_0806ACFC: - .4byte _0806AD18 - .4byte _0806AD34 - .4byte _0806AD80 - .4byte _0806ADD8 - .4byte _0806AE5C - .4byte _0806AE8C - .4byte _0806AEAE -_0806AD18: - movs r0, 0x1 - negs r0, r0 - ldr r1, _0806AD30 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x1 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AD30: .4byte 0x0000ffff -_0806AD34: - ldr r0, _0806AD5C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0806AD42 - b _0806AEC4 -_0806AD42: - ldr r0, _0806AD60 @ =gSaveFileStatus - ldrh r0, [r0] - cmp r0, 0 - beq _0806AD4E - cmp r0, 0x2 - bne _0806AD68 -_0806AD4E: - ldr r0, _0806AD64 @ =gSystemText_NoSaveFileNoTime - bl ResetRtcScreen_ShowMessage - movs r0, 0x5 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AD5C: .4byte gPaletteFade -_0806AD60: .4byte gSaveFileStatus -_0806AD64: .4byte gSystemText_NoSaveFileNoTime -_0806AD68: - bl RtcCalcLocalTime - ldr r0, _0806AD7C @ =Task_ShowResetRtcPrompt - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - b _0806ADFC - .align 2, 0 -_0806AD7C: .4byte Task_ShowResetRtcPrompt -_0806AD80: - ldr r2, _0806ADC4 @ =gTasks - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0x1 - bne _0806AD96 - b _0806AEC4 -_0806AD96: - bl MenuZeroFillScreen - ldr r0, _0806ADC8 @ =gSystemText_PleaseResetTime - bl ResetRtcScreen_ShowMessage - ldr r2, _0806ADCC @ =gLocalTime - ldr r0, _0806ADD0 @ =gSaveBlock2 - adds r0, 0xA0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0806ADD4 @ =Task_ResetRtc_0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x2] - movs r0, 0x3 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806ADC4: .4byte gTasks -_0806ADC8: .4byte gSystemText_PleaseResetTime -_0806ADCC: .4byte gLocalTime -_0806ADD0: .4byte gSaveBlock2 -_0806ADD4: .4byte Task_ResetRtc_0 -_0806ADD8: - ldr r2, _0806AE04 @ =gTasks - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0806AEC4 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0806AE08 - ldrb r0, [r5, 0x2] - bl DestroyTask -_0806ADFC: - movs r0, 0x2 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AE04: .4byte gTasks -_0806AE08: - ldrb r0, [r5, 0x2] - bl DestroyTask - bl RtcReset - ldr r4, _0806AE4C @ =gLocalTime - movs r1, 0 - ldrsh r0, [r4, r1] - movs r1, 0x2 - ldrsb r1, [r4, r1] - movs r2, 0x3 - ldrsb r2, [r4, r2] - movs r3, 0x4 - ldrsb r3, [r4, r3] - bl RtcCalcLocalTimeOffset - ldr r2, _0806AE50 @ =gSaveBlock2 - adds r2, 0xA0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0806AE54 @ =0x00004040 - ldrh r1, [r4] - bl VarSet - bl DisableResetRTC - ldr r0, _0806AE58 @ =gSystemText_ClockResetDataSave - bl ResetRtcScreen_ShowMessage - movs r0, 0x4 - strh r0, [r5] - b _0806AEC4 - .align 2, 0 -_0806AE4C: .4byte gLocalTime -_0806AE50: .4byte gSaveBlock2 -_0806AE54: .4byte 0x00004040 -_0806AE58: .4byte gSystemText_ClockResetDataSave -_0806AE5C: - movs r0, 0 - bl TrySavingData - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806AE7C - ldr r0, _0806AE78 @ =gSystemText_SaveCompleted - bl ResetRtcScreen_ShowMessage - movs r0, 0x49 - bl PlaySE - b _0806AE88 - .align 2, 0 -_0806AE78: .4byte gSystemText_SaveCompleted -_0806AE7C: - ldr r0, _0806AECC @ =gSystemText_SaveFailed - bl ResetRtcScreen_ShowMessage - movs r0, 0x16 - bl PlaySE -_0806AE88: - movs r0, 0x5 - strh r0, [r5] -_0806AE8C: - ldr r0, _0806AED0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806AEC4 - movs r0, 0x1 - negs r0, r0 - ldr r1, _0806AED4 @ =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x6 - strh r0, [r5] -_0806AEAE: - ldr r0, _0806AED8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806AEC4 - adds r0, r4, 0 - bl DestroyTask - bl DoSoftReset -_0806AEC4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806AECC: .4byte gSystemText_SaveFailed -_0806AED0: .4byte gMain -_0806AED4: .4byte 0x0000ffff -_0806AED8: .4byte gPaletteFade - thumb_func_end Task_ResetRtcScreen - - .align 2, 0 @ Don't pad with nop. diff --git a/common_syms/battle_anim.txt b/common_syms/battle_anim.txt new file mode 100644 index 000000000..a93ac9b5d --- /dev/null +++ b/common_syms/battle_anim.txt @@ -0,0 +1,3 @@ +gSoundAnimFramesToWait +gBattleAnimArgs +gAnimSpriteIndexArray diff --git a/common_syms/contest_painting.txt b/common_syms/contest_painting.txt new file mode 100644 index 000000000..2e8490348 --- /dev/null +++ b/common_syms/contest_painting.txt @@ -0,0 +1,5 @@ +gUnknown_03005E10 +gUnknown_03005E20 +gUnknown_03005E40 +gUnknown_03005E8C +gUnknown_03005E90 diff --git a/common_syms/field_camera.txt b/common_syms/field_camera.txt new file mode 100644 index 000000000..7aad967f8 --- /dev/null +++ b/common_syms/field_camera.txt @@ -0,0 +1,3 @@ +gUnknown_03004880 +gUnknown_03004898 +gUnknown_0300489C diff --git a/common_syms/field_control_avatar.txt b/common_syms/field_control_avatar.txt new file mode 100644 index 000000000..040a9e6c1 --- /dev/null +++ b/common_syms/field_control_avatar.txt @@ -0,0 +1 @@ +gSelectedMapObject diff --git a/common_syms/field_map_obj.txt b/common_syms/field_map_obj.txt new file mode 100644 index 000000000..32d8b1915 --- /dev/null +++ b/common_syms/field_map_obj.txt @@ -0,0 +1 @@ +gMapObjects diff --git a/common_syms/fieldmap.txt b/common_syms/fieldmap.txt new file mode 100644 index 000000000..7819b3b40 --- /dev/null +++ b/common_syms/fieldmap.txt @@ -0,0 +1 @@ +gUnknown_03004870 diff --git a/common_syms/intro.txt b/common_syms/intro.txt new file mode 100644 index 000000000..d069b1014 --- /dev/null +++ b/common_syms/intro.txt @@ -0,0 +1,2 @@ +gIntroFrameCounter +gMultibootProgramStruct diff --git a/common_syms/mori_debug_menu.txt b/common_syms/mori_debug_menu.txt new file mode 100644 index 000000000..77ab5531c --- /dev/null +++ b/common_syms/mori_debug_menu.txt @@ -0,0 +1 @@ +gUnknown_03004DA0 diff --git a/common_syms/pokedex.txt b/common_syms/pokedex.txt new file mode 100644 index 000000000..18b14f3ed --- /dev/null +++ b/common_syms/pokedex.txt @@ -0,0 +1,2 @@ +gUnknown_03005CE8 +gUnknown_03005CEC diff --git a/common_syms/pokemon_1.txt b/common_syms/pokemon_1.txt new file mode 100644 index 000000000..c588d53a7 --- /dev/null +++ b/common_syms/pokemon_1.txt @@ -0,0 +1,4 @@ +gPlayerPartyCount +gPlayerParty +gEnemyPartyCount +gEnemyParty diff --git a/common_syms/record_mixing.txt b/common_syms/record_mixing.txt new file mode 100644 index 000000000..a6f4f8df3 --- /dev/null +++ b/common_syms/record_mixing.txt @@ -0,0 +1 @@ +gUnknown_03005D2C diff --git a/common_syms/rom3.txt b/common_syms/rom3.txt new file mode 100644 index 000000000..06a965ff6 --- /dev/null +++ b/common_syms/rom3.txt @@ -0,0 +1 @@ +gBattleBuffersTransferData diff --git a/common_syms/rom4.txt b/common_syms/rom4.txt new file mode 100644 index 000000000..ecdb190b2 --- /dev/null +++ b/common_syms/rom4.txt @@ -0,0 +1,4 @@ +word_3004858 +gFieldCallback +gUnknown_03004860 +gFieldLinkPlayerCount diff --git a/common_syms/save.txt b/common_syms/save.txt new file mode 100644 index 000000000..d09a52bcf --- /dev/null +++ b/common_syms/save.txt @@ -0,0 +1,9 @@ +gLastWrittenSector +gLastSaveCounter +gLastKnownGoodSector +gDamagedSaveSectors +gSaveCounter +gFastSaveSection +gUnknown_03005EB4 +gSaveFileStatus +gGameContinueCallback diff --git a/common_syms/sound.txt b/common_syms/sound.txt new file mode 100644 index 000000000..0f6f2fc75 --- /dev/null +++ b/common_syms/sound.txt @@ -0,0 +1 @@ +gDisableMusic diff --git a/common_syms/sound_check_menu.txt b/common_syms/sound_check_menu.txt new file mode 100644 index 000000000..ba350ad8e --- /dev/null +++ b/common_syms/sound_check_menu.txt @@ -0,0 +1 @@ +gUnknown_03005D30 diff --git a/common_syms/start_menu.txt b/common_syms/start_menu.txt new file mode 100644 index 000000000..bc0c247d1 --- /dev/null +++ b/common_syms/start_menu.txt @@ -0,0 +1 @@ +gCallback_03004AE8 diff --git a/common_syms/tv.txt b/common_syms/tv.txt new file mode 100644 index 000000000..829139f8f --- /dev/null +++ b/common_syms/tv.txt @@ -0,0 +1 @@ +gUnknown_03005D38 diff --git a/data-de/event_scripts.s b/data-de/event_scripts.s index c06a4073a..4d809241c 100644 --- a/data-de/event_scripts.s +++ b/data-de/event_scripts.s @@ -433,16 +433,16 @@ EventScript_15F419: compare RESULT, 0 jumpeq EventScript_15F384 closebutton - special 10 + special SecretBasePC_PackUp releaseall end EventScript_15F432: - special 14 + special SecretBasePC_Decoration end EventScript_15F436: - special 15 + special SecretBasePC_Registry end gUnknown_0815F43A:: @ 815F43A @@ -475,18 +475,18 @@ gUnknown_0815F49A:: @ 815F49A end EventScript_15F4A1: - special 12 + special sub_80BC56C compare RESULT, 1 jumpeq EventScript_15F4E0 compare RESULT, 2 jumpeq EventScript_15F503 - special 303 + special sub_80BC224 msgbox UnknownString_81A3958, 5 compare RESULT, 0 jumpeq EventScript_15F452 msgbox UnknownString_81A3A22, 3 - special 13 - special 26 + special sub_80BC5BC + special sub_80C683C releaseall end @@ -495,14 +495,14 @@ EventScript_15F4E0: compare RESULT, 0 jumpeq EventScript_15F452 msgbox UnknownString_81A3A3A, 3 - special 13 - special 26 + special sub_80BC5BC + special sub_80C683C releaseall end EventScript_15F503: msgbox UnknownString_81A39C0, 3 - special 26 + special sub_80C683C closebutton releaseall end @@ -514,7 +514,7 @@ EventScript_15F511: end EventScript_15F51D: - special 26 + special sub_80C683C closebutton releaseall end @@ -525,7 +525,7 @@ gUnknown_0815F523:: @ 815F523 end gUnknown_0815F528:: @ 815F528 - special 307 + special GetShieldToyTVDecorationInfo compare RESULT, 0 jumpeq EventScript_15F558 compare RESULT, 1 @@ -925,14 +925,14 @@ LilycoveCity_ContestLobby_EventScript_19F806:: @ 819F806 MossdeepCity_GameCorner_1F_EventScript_19F806:: @ 819F806 OldaleTown_PokemonCenter_2F_EventScript_19F806:: @ 819F806 SecretBase_RedCave1_EventScript_19F806:: @ 819F806 - special 93 + special InitSaveDialog waitstate return gUnknown_0819F80B:: @ 819F80B lock - special 56 - special 55 + special PlayTrainerEncounterMusic + special sub_80847C8 waitstate jump EventScript_19F8F2 @@ -941,11 +941,11 @@ gUnknown_0819F818:: @ 819F818 faceplayer move LAST_TALKED, Movement_19F8F0 waitmove 0 - specialval RESULT, 54 + specialval RESULT, sub_8082564 compare RESULT, 0 jumpif 5, EventScript_19F83F - special 56 - special 314 + special PlayTrainerEncounterMusic + special sub_8082524 jump EventScript_19F8F2 EventScript_19F83F: @@ -955,18 +955,18 @@ gUnknown_0819F840:: @ 819F840 lock faceplayer call EventScript_19F8E5 - specialval RESULT, 54 + specialval RESULT, sub_8082564 compare RESULT, 0 jumpif 5, EventScript_19F877 - special 61 + special CheckForAlivePartyMons compare RESULT, 0 jumpif 5, EventScript_19F870 - special 56 - special 314 + special PlayTrainerEncounterMusic + special sub_8082524 jump EventScript_19F8F2 EventScript_19F870: - special 53 + special sub_8082718 waittext waitbutton release @@ -978,21 +978,21 @@ EventScript_19F877: gUnknown_0819F878:: @ 819F878 move LAST_TALKED, Movement_19F8F0 waitmove 0 - special 56 + special PlayTrainerEncounterMusic reptrainerbattle endtrainerbattle gUnknown_0819F887:: @ 819F887 call EventScript_19F8E5 - specialval RESULT, 58 + specialval RESULT, sub_8082C9C compare RESULT, 0 jumpeq EventScript_19F8AD - special 56 - special 314 - special 52 + special PlayTrainerEncounterMusic + special sub_8082524 + special sub_80826D8 waittext waitbutton - special 59 + special sub_80826B0 waitstate releaseall end @@ -1001,18 +1001,18 @@ EventScript_19F8AD: endtrainerbattle gUnknown_0819F8AE:: @ 819F8AE - specialval RESULT, 58 + specialval RESULT, sub_8082C9C compare RESULT, 0 jumpeq EventScript_19F8DD - special 61 + special CheckForAlivePartyMons compare RESULT, 0 jumpif 5, EventScript_19F8DE - special 56 - special 314 - special 52 + special PlayTrainerEncounterMusic + special sub_8082524 + special sub_80826D8 waittext waitbutton - special 59 + special sub_80826B0 waitstate releaseall end @@ -1021,7 +1021,7 @@ EventScript_19F8DD: endtrainerbattle EventScript_19F8DE: - special 53 + special sub_8082718 waittext waitbutton release @@ -1037,11 +1037,11 @@ Movement_19F8F0:: step_end EventScript_19F8F2: - special 52 + special sub_80826D8 waittext waitbutton reptrainerbattle - specialval RESULT, 51 + specialval RESULT, sub_8082558 compare RESULT, 0 jumpeq EventScript_19F934 compare RESULT, 2 @@ -1296,7 +1296,7 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13 clearflag 751 clearflag 860 clearflag 861 - special 169 + special sub_810FAA0 checkflag 291 callif 0, EverGrandeCity_HallOfFame_EventScript_19FC62 checkflag 255 @@ -1455,7 +1455,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FD7C:: @ 819FD7C checkanimation 25 move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845 waitmove 0 - special 0 + special HealPlayerParty checkflag 273 jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE jump OldaleTown_PokemonCenter_1F_EventScript_19FDB0 @@ -1476,7 +1476,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FDC7:: @ 819FDC7 return OldaleTown_PokemonCenter_1F_EventScript_19FDCE:: @ 819FDCE - specialval RESULT, 308 + specialval RESULT, IsPokerusInParty compare RESULT, 1 jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDEA compare RESULT, 0 @@ -1645,7 +1645,7 @@ HiddenItemScript_Success: waitfanfare waittext msgbox Message_PutAwayItem - special 0x96 + special SetFlagInVar releaseall end @@ -1666,7 +1666,7 @@ UnusedMixRecordsScript: @ 819FFD5 jumpeq UnusedMixRecordsScript_Done jump UnusedMixRecordsScript_Done UnusedMixRecordsScript_Yes: @ 819FFFA - special 0x1B + special sub_80B929C waitstate lock faceplayer @@ -1680,7 +1680,7 @@ UnusedMixRecordsScript_Done: @ 81A0000 gUnknown_081A0009:: @ 81A0009 lockall setvar 0x8004, 0 - special 214 + special DoPCTurnOnEffect playsfx 4 msgbox UnknownString_81A09EC, 4 jump EventScript_1A0023 @@ -1689,7 +1689,7 @@ gUnknown_081A0009:: @ 81A0009 EventScript_1A0023: message gPCText_WhichPCShouldBeAccessed waittext - special 262 + special TryCreatePCMenu waitstate jump EventScript_1A0033 end @@ -1706,7 +1706,7 @@ EventScript_1A0033: EventScript_1A0070: playsfx 2 msgbox UnknownString_81A0A54, 4 - special 250 + special PlayerPC waitstate jump EventScript_1A0023 end @@ -1718,7 +1718,7 @@ EventScript_1A0085: checkflag 2123 callif 1, EventScript_1A00B5 msgbox UnknownString_81A0A35, 4 - special 60 + special ShowPokemonStorageSystem waitstate jump EventScript_1A0023 end @@ -1734,7 +1734,7 @@ EventScript_1A00B5: EventScript_1A00BE: setvar 0x8004, 0 playsfx 3 - special 215 + special DoPCTurnOffEffect releaseall end @@ -1742,7 +1742,7 @@ EventScript_1A00CB: checkflag 2052 jumpif 0, EventScript_1A00BE playsfx 2 - special 263 + special AccessHallOfFamePC waitstate jump EventScript_1A0033 end @@ -1789,7 +1789,7 @@ Route123_BerryMastersHouse_EventScript_1A00F3:: @ 81A00F3 SlateportCity_OceanicMuseum_1F_EventScript_1A00F3:: @ 81A00F3 SlateportCity_PokemonFanClub_EventScript_1A00F3:: @ 81A00F3 fadescreen 1 - special 95 + special sub_80E60D8 fadescreen 0 return @@ -1805,7 +1805,7 @@ DewfordTown_EventScript_1A0102:: @ 81A0102 DewfordTown_Hall_EventScript_1A0102:: @ 81A0102 checkdailyflags setvar 0x8004, 0 - special 126 + special sub_80FA5BC return DewfordTown_EventScript_1A010C:: @ 81A010C @@ -2112,7 +2112,7 @@ SSTidalRooms_EventScript_1A02CA:: @ 81A02CA fadescreen 1 fanfare 368 waitfanfare - special 0 + special HealPlayerParty fadescreen 0 return @@ -2120,7 +2120,7 @@ Event_WorldMap:: @ 81A02D6 lockall msgbox UnknownString_817303D, 4 fadescreen 1 - special 251 + special FieldShowRegionMap waitstate releaseall end @@ -2202,7 +2202,7 @@ Route101_EventScript_1A039B:: @ 81A039B Route101_EventScript_1A03A5:: @ 81A03A5 copyvar 0x8004, 0x8009 - special 213 + special ShowPokedexRatingMessage waittext waitbutton return @@ -2210,7 +2210,7 @@ Route101_EventScript_1A03A5:: @ 81A03A5 EverGrandeCity_ChampionsRoom_EventScript_1A03B0:: @ 81A03B0 Route101_EventScript_1A03B0:: @ 81A03B0 setvar 0x8004, 0 - specialval RESULT, 212 + specialval RESULT, ScriptGetPokedexInfo copyvar 0x8008, 0x8005 copyvar 0x8009, 0x8006 copyvar 0x800a, RESULT @@ -2221,7 +2221,7 @@ Route101_EventScript_1A03B0:: @ 81A03B0 compare 0x800a, 0 jumpeq Route101_EventScript_1A14DC setvar 0x8004, 1 - specialval RESULT, 212 + specialval RESULT, ScriptGetPokedexInfo copyvar 0x8008, 0x8005 copyvar 0x8009, 0x8006 buffernum 0, 0x8008 @@ -2329,7 +2329,7 @@ CaveOfOrigin_1F_EventScript_1A04D3:: @ 81A04D3 CaveOfOrigin_B2F_EventScript_1A04D3:: @ 81A04D3 setvar 0x8004, 1 setvar 0x8005, 1 - special 310 + special sub_810F758 waitstate releaseall end @@ -2534,7 +2534,7 @@ MossdeepCity_StevensHouse_EventScript_1A0678:: @ 81A0678 RustboroCity_DevonCorp_2F_EventScript_1A0678:: @ 81A0678 SlateportCity_House1_EventScript_1A0678:: @ 81A0678 fadescreen 1 - special 158 + special sub_80BF9F8 waitstate return @@ -2569,7 +2569,7 @@ EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693 setmaptile 10, 2, 733, 1 setmaptile 11, 2, 734, 1 setmaptile 12, 2, 733, 1 - special 142 + special DrawWholeMapView return EverGrandeCity_DrakesRoom_EventScript_1A0710:: @ 81A0710 @@ -2585,7 +2585,7 @@ EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710 setmaptile 5, 13, 526, 1 setmaptile 6, 13, 526, 1 setmaptile 7, 13, 526, 1 - special 142 + special DrawWholeMapView return EverGrandeCity_DrakesRoom_EventScript_1A0757:: @ 81A0757 @@ -3261,7 +3261,7 @@ Event_NoRegisteredItem:: @ 81A14AF gUnknown_081A14B8:: @ 81A14B8 lockall - special 199 + special ExecuteWhiteOut waitstate compare RESULT, 1 jumpeq EventScript_1A14CA @@ -3272,10 +3272,10 @@ EventScript_1A14CA:: message UnknownString_81A1141 waittext waitbutton - special 332 + special sub_8081924 waitstate fadescreen 1 - special 200 + special sp0C8_whiteout_maybe waitstate end @@ -3616,8 +3616,8 @@ SecretBase_RedCave1_Text_1A2BA4:: @ 81A2BA4 .string "Bist du sprachlos? Hihihi...$" gUnknown_081A2C51:: @ 81A2C51 - special 21 - special 7 + special sub_80BB70C + special sub_80BB63C compare RESULT, 1 jumpeq EventScript_1A2E45 checkattack MOVE_SECRET_POWER @@ -3735,11 +3735,11 @@ EventScript_1A2DB8: playsfx 9 setvar 0x4097, 0 setflag 173 - special 6 - special 8 + special sub_80BB8CC + special sub_80BBAF0 setvar 0x8004, 0 setvar 0x8005, 0 - special 18 + special sub_80BBDD0 setvar 0x4089, 1 waitstate end @@ -3753,13 +3753,13 @@ SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE jumpeq SecretBase_RedCave1_EventScript_1A2E08 closebutton playsfx 9 - special 9 + special sub_80BC440 end SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08 closebutton setflag 96 - special 24 + special sub_80BBC78 waitstate end @@ -3772,18 +3772,18 @@ gUnknown_081A2E14:: @ 81A2E14 lockall setvar 0x4097, 1 playsfx 9 - special 11 + special sub_80BC114 compare RESULT, 0 jumpeq EventScript_1A2E38 clearflag 173 - special 8 + special sub_80BBAF0 setvar 0x4089, 0 waitstate end EventScript_1A2E38: setflag 173 - special 8 + special sub_80BBAF0 setvar 0x4089, 0 waitstate end @@ -3795,7 +3795,7 @@ EventScript_1A2E45: setanimation 0, RESULT setorcopyvar 0x8004, RESULT lockall - special 278 + special GetSecretBaseNearbyMapName msgbox UnknownString_81A3C71, 5 compare RESULT, 0 jumpeq EventScript_1A2F3A @@ -3803,7 +3803,7 @@ EventScript_1A2E45: compare RESULT, 0 jumpeq EventScript_1A2F3A fadescreen 1 - special 330 + special sub_80BC50C closebutton fadescreen 0 msgbox UnknownString_81A3CC9, 5 @@ -3873,7 +3873,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1A2F68:: @ 81A2F68 SecretBase_RedCave1_EventScript_1A2F68:: @ 81A2F68 setvar 0x8004, 0 setvar 0x8005, 0 - special 18 + special sub_80BBDD0 setvar 0x4089, 1 end @@ -3883,7 +3883,7 @@ gUnknown_081A2F7B:: @ 81A2F7B end EventScript_1A2F86: - special 19 + special sub_80FF474 end gUnknown_081A2F8A:: @ 81A2F8A @@ -3892,7 +3892,7 @@ gUnknown_081A2F8A:: @ 81A2F8A end EventScript_1A2F95: - special 23 + special sub_8100A7C compare RESULT, 1 jumpeq EventScript_1A2FBF addvar 0x8004, 1 @@ -3930,7 +3930,7 @@ SecretBase_YellowCave1_EventScript_1A2FC0:: @ 81A2FC0 SecretBase_YellowCave2_EventScript_1A2FC0:: @ 81A2FC0 SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0 SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0 - special 17 + special sub_80BCE90 compare 0x8004, 0 jumpeq SecretBase_RedCave1_EventScript_1A3032 compare 0x8004, 1 @@ -3964,7 +3964,7 @@ SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A308F setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A308F @@ -3979,7 +3979,7 @@ SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086 SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1B97, 2 end @@ -3999,7 +3999,7 @@ SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A310B setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A310B @@ -4014,7 +4014,7 @@ SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102 SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1F2E, 2 end @@ -4034,7 +4034,7 @@ SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3187 setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3187 @@ -4049,7 +4049,7 @@ SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187 setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2230, 2 end @@ -4069,7 +4069,7 @@ SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3203 setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3203 @@ -4084,7 +4084,7 @@ SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203 setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A258A, 2 end @@ -4104,7 +4104,7 @@ SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A327F setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A327F @@ -4119,7 +4119,7 @@ SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276 SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A28F4, 2 end @@ -4139,7 +4139,7 @@ SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A32FB setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A32FB @@ -4154,7 +4154,7 @@ SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2 SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1D59, 2 end @@ -4174,7 +4174,7 @@ SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3377 setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3377 @@ -4189,7 +4189,7 @@ SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377 setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A20AE, 2 end @@ -4209,7 +4209,7 @@ SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A33F3 setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A33F3 @@ -4224,7 +4224,7 @@ SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3 setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2420, 2 end @@ -4244,7 +4244,7 @@ SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A346F setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A346F @@ -4259,7 +4259,7 @@ SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466 SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2736, 2 end @@ -4279,7 +4279,7 @@ SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A34EB setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A34EB @@ -4294,7 +4294,7 @@ SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2 SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2AFB, 2 end @@ -4304,12 +4304,12 @@ SecretBase_RedCave1_EventScript_1A3501:: @ 81A3501 end SecretBase_RedCave1_EventScript_1A350A:: @ 81A350A - special 16 + special sub_80BCE1C setvar 0x8004, 1 setvar 0x8005, 0 - special 236 + special sub_813556C waitstate - special 0 + special HealPlayerParty release end @@ -4405,14 +4405,14 @@ BattleTower_Lobby_EventScript_1ADE46:: @ 81ADE46 FallarborTown_ContestLobby_EventScript_1ADE46:: @ 81ADE46 SlateportCity_OceanicMuseum_1F_EventScript_1ADE46:: @ 81ADE46 SlateportCity_PokemonFanClub_EventScript_1ADE46:: @ 81ADE46 - special 68 + special sub_80BDE48 inccounter GAME_STAT_GOT_INTERVIEWED release end SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D setvar 0x8005, 1 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq SlateportCity_PokemonFanClub_EventScript_1ADED6 copyvar 0x8009, 0x8006 @@ -4457,7 +4457,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0 lock faceplayer setvar 0x8005, 2 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96 copyvar 0x8009, 0x8006 @@ -4512,11 +4512,11 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96 SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0 lock faceplayer - specialval RESULT, 69 + specialval RESULT, sub_80BF544 compare RESULT, 0 jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE4D setvar 0x8005, 3 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0AC copyvar 0x8009, 0x8006 @@ -4593,7 +4593,7 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 checkflag 2 jumpeq FallarborTown_ContestLobby_EventScript_1AE17E setvar 0x8005, 6 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq FallarborTown_ContestLobby_EventScript_1AE17E copyvar 0x8009, 0x8006 @@ -4625,7 +4625,7 @@ FallarborTown_ContestLobby_EventScript_1AE12D:: @ 81AE12D FallarborTown_ContestLobby_EventScript_1AE137:: @ 81AE137 setvar 0x8004, 24 - special 70 + special SetContestCategoryStringVarForInterview msgbox FallarborTown_ContestLobby_Text_1A70A5, 4 setvar 0x8004, 11 copyvar 0x8005, 0x8009 @@ -4653,7 +4653,7 @@ VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188 compare 0x4086, 2 jumpif 5, FallarborTown_ContestLobby_EventScript_1AE1FE setvar 0x8005, 6 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq FallarborTown_ContestLobby_EventScript_1AE1FE switch 0x4088 @@ -4690,7 +4690,7 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF checkflag 2 jumpeq BattleTower_Lobby_EventScript_1AE2E3 setvar 0x8005, 7 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq BattleTower_Lobby_EventScript_1AE2E3 copyvar 0x8009, 0x8006 @@ -4759,7 +4759,7 @@ BattleTower_Lobby_EventScript_1AE2ED:: @ 81AE2ED compare 0x40bc, 0 jumpeq BattleTower_Lobby_EventScript_1AE30F setvar 0x8005, 7 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq BattleTower_Lobby_EventScript_1AE30F clearflag 918 @@ -4854,7 +4854,7 @@ MauvilleCity_GameCorner_EventScript_1C40AC:: @ 81C40AC end MauvilleCity_GameCorner_EventScript_1C40DA:: @ 81C40DA - special 162 + special PlayRoulette waitstate end @@ -4927,7 +4927,7 @@ gUnknown_081C6BDE:: @ 81C6BDE waitmove 0 playsfx 43 pause 60 - special 319 + special sp13F_fall_to_last_warp waitstate end diff --git a/data-de/field_move_scripts.inc b/data-de/field_move_scripts.inc index d0ed559ec..91c3dcca8 100644 --- a/data-de/field_move_scripts.inc +++ b/data-de/field_move_scripts.inc @@ -90,10 +90,10 @@ DoRockSmashMovement: @ 81B0F0C move LAST_TALKED, RockSmashMovement waitmove 0 disappear LAST_TALKED - specialval RESULT, 298 + specialval RESULT, sub_810F5BC compare RESULT, 1 jumpeq DoRockSmashMovement_Done - special 171 + special RockSmashWildEncounter compare RESULT, 0 jumpeq DoRockSmashMovement_Done waitstate diff --git a/data/event_scripts.s b/data/event_scripts.s index d909f1006..d6702745a 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -433,16 +433,16 @@ EventScript_15F419: compare RESULT, 0 jumpeq EventScript_15F384 closebutton - special 10 + special SecretBasePC_PackUp releaseall end EventScript_15F432: - special 14 + special SecretBasePC_Decoration end EventScript_15F436: - special 15 + special SecretBasePC_Registry end gUnknown_0815F43A:: @ 815F43A @@ -475,18 +475,18 @@ gUnknown_0815F49A:: @ 815F49A end EventScript_15F4A1: - special 12 + special sub_80BC56C compare RESULT, 1 jumpeq EventScript_15F4E0 compare RESULT, 2 jumpeq EventScript_15F503 - special 303 + special sub_80BC224 msgbox UnknownString_81A3958, 5 compare RESULT, 0 jumpeq EventScript_15F452 msgbox UnknownString_81A3A22, 3 - special 13 - special 26 + special sub_80BC5BC + special sub_80C683C releaseall end @@ -495,14 +495,14 @@ EventScript_15F4E0: compare RESULT, 0 jumpeq EventScript_15F452 msgbox UnknownString_81A3A3A, 3 - special 13 - special 26 + special sub_80BC5BC + special sub_80C683C releaseall end EventScript_15F503: msgbox UnknownString_81A39C0, 3 - special 26 + special sub_80C683C closebutton releaseall end @@ -514,7 +514,7 @@ EventScript_15F511: end EventScript_15F51D: - special 26 + special sub_80C683C closebutton releaseall end @@ -525,7 +525,7 @@ gUnknown_0815F523:: @ 815F523 end gUnknown_0815F528:: @ 815F528 - special 307 + special GetShieldToyTVDecorationInfo compare RESULT, 0 jumpeq EventScript_15F558 compare RESULT, 1 @@ -924,14 +924,14 @@ LilycoveCity_ContestLobby_EventScript_19F806:: @ 819F806 MossdeepCity_GameCorner_1F_EventScript_19F806:: @ 819F806 OldaleTown_PokemonCenter_2F_EventScript_19F806:: @ 819F806 SecretBase_RedCave1_EventScript_19F806:: @ 819F806 - special 93 + special InitSaveDialog waitstate return gUnknown_0819F80B:: @ 819F80B lock - special 56 - special 55 + special PlayTrainerEncounterMusic + special sub_80847C8 waitstate jump EventScript_19F8F2 @@ -940,11 +940,11 @@ gUnknown_0819F818:: @ 819F818 faceplayer move LAST_TALKED, Movement_19F8F0 waitmove 0 - specialval RESULT, 54 + specialval RESULT, sub_8082564 compare RESULT, 0 jumpif 5, EventScript_19F83F - special 56 - special 314 + special PlayTrainerEncounterMusic + special sub_8082524 jump EventScript_19F8F2 EventScript_19F83F: @@ -954,18 +954,18 @@ gUnknown_0819F840:: @ 819F840 lock faceplayer call EventScript_19F8E5 - specialval RESULT, 54 + specialval RESULT, sub_8082564 compare RESULT, 0 jumpif 5, EventScript_19F877 - special 61 + special CheckForAlivePartyMons compare RESULT, 0 jumpif 5, EventScript_19F870 - special 56 - special 314 + special PlayTrainerEncounterMusic + special sub_8082524 jump EventScript_19F8F2 EventScript_19F870: - special 53 + special sub_8082718 waittext waitbutton release @@ -977,21 +977,21 @@ EventScript_19F877: gUnknown_0819F878:: @ 819F878 move LAST_TALKED, Movement_19F8F0 waitmove 0 - special 56 + special PlayTrainerEncounterMusic reptrainerbattle endtrainerbattle gUnknown_0819F887:: @ 819F887 call EventScript_19F8E5 - specialval RESULT, 58 + specialval RESULT, sub_8082C9C compare RESULT, 0 jumpeq EventScript_19F8AD - special 56 - special 314 - special 52 + special PlayTrainerEncounterMusic + special sub_8082524 + special sub_80826D8 waittext waitbutton - special 59 + special sub_80826B0 waitstate releaseall end @@ -1000,18 +1000,18 @@ EventScript_19F8AD: endtrainerbattle gUnknown_0819F8AE:: @ 819F8AE - specialval RESULT, 58 + specialval RESULT, sub_8082C9C compare RESULT, 0 jumpeq EventScript_19F8DD - special 61 + special CheckForAlivePartyMons compare RESULT, 0 jumpif 5, EventScript_19F8DE - special 56 - special 314 - special 52 + special PlayTrainerEncounterMusic + special sub_8082524 + special sub_80826D8 waittext waitbutton - special 59 + special sub_80826B0 waitstate releaseall end @@ -1020,7 +1020,7 @@ EventScript_19F8DD: endtrainerbattle EventScript_19F8DE: - special 53 + special sub_8082718 waittext waitbutton release @@ -1036,11 +1036,11 @@ Movement_19F8F0:: step_end EventScript_19F8F2: - special 52 + special sub_80826D8 waittext waitbutton reptrainerbattle - specialval RESULT, 51 + specialval RESULT, sub_8082558 compare RESULT, 0 jumpeq EventScript_19F934 compare RESULT, 2 @@ -1295,7 +1295,7 @@ EverGrandeCity_HallOfFame_EventScript_19FC13:: @ 819FC13 clearflag 751 clearflag 860 clearflag 861 - special 169 + special sub_810FAA0 checkflag 291 callif 0, EverGrandeCity_HallOfFame_EventScript_19FC62 checkflag 255 @@ -1454,7 +1454,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FD7C:: @ 819FD7C checkanimation 25 move 0x800b, OldaleTown_PokemonCenter_1F_Movement_1A0845 waitmove 0 - special 0 + special HealPlayerParty checkflag 273 jumpif 0, OldaleTown_PokemonCenter_1F_EventScript_19FDCE jump OldaleTown_PokemonCenter_1F_EventScript_19FDB0 @@ -1475,7 +1475,7 @@ OldaleTown_PokemonCenter_1F_EventScript_19FDC7:: @ 819FDC7 return OldaleTown_PokemonCenter_1F_EventScript_19FDCE:: @ 819FDCE - specialval RESULT, 308 + specialval RESULT, IsPokerusInParty compare RESULT, 1 jumpeq OldaleTown_PokemonCenter_1F_EventScript_19FDEA compare RESULT, 0 @@ -1644,7 +1644,7 @@ HiddenItemScript_Success: waitfanfare waittext msgbox Message_PutAwayItem - special 0x96 + special SetFlagInVar releaseall end @@ -1665,7 +1665,7 @@ UnusedMixRecordsScript: @ 819FFD5 jumpeq UnusedMixRecordsScript_Done jump UnusedMixRecordsScript_Done UnusedMixRecordsScript_Yes: @ 819FFFA - special 0x1B + special sub_80B929C waitstate lock faceplayer @@ -1679,7 +1679,7 @@ UnusedMixRecordsScript_Done: @ 81A0000 gUnknown_081A0009:: @ 81A0009 lockall setvar 0x8004, 0 - special 214 + special DoPCTurnOnEffect playsfx 4 msgbox UnknownString_81A09EC, 4 jump EventScript_1A0023 @@ -1688,7 +1688,7 @@ gUnknown_081A0009:: @ 81A0009 EventScript_1A0023: message gPCText_WhichPCShouldBeAccessed waittext - special 262 + special TryCreatePCMenu waitstate jump EventScript_1A0033 end @@ -1705,7 +1705,7 @@ EventScript_1A0033: EventScript_1A0070: playsfx 2 msgbox UnknownString_81A0A54, 4 - special 250 + special PlayerPC waitstate jump EventScript_1A0023 end @@ -1717,7 +1717,7 @@ EventScript_1A0085: checkflag 2123 callif 1, EventScript_1A00B5 msgbox UnknownString_81A0A35, 4 - special 60 + special ShowPokemonStorageSystem waitstate jump EventScript_1A0023 end @@ -1733,7 +1733,7 @@ EventScript_1A00B5: EventScript_1A00BE: setvar 0x8004, 0 playsfx 3 - special 215 + special DoPCTurnOffEffect releaseall end @@ -1741,7 +1741,7 @@ EventScript_1A00CB: checkflag 2052 jumpif 0, EventScript_1A00BE playsfx 2 - special 263 + special AccessHallOfFamePC waitstate jump EventScript_1A0033 end @@ -1788,7 +1788,7 @@ Route123_BerryMastersHouse_EventScript_1A00F3:: @ 81A00F3 SlateportCity_OceanicMuseum_1F_EventScript_1A00F3:: @ 81A00F3 SlateportCity_PokemonFanClub_EventScript_1A00F3:: @ 81A00F3 fadescreen 1 - special 95 + special sub_80E60D8 fadescreen 0 return @@ -1804,7 +1804,7 @@ DewfordTown_EventScript_1A0102:: @ 81A0102 DewfordTown_Hall_EventScript_1A0102:: @ 81A0102 checkdailyflags setvar 0x8004, 0 - special 126 + special sub_80FA5BC return DewfordTown_EventScript_1A010C:: @ 81A010C @@ -2111,7 +2111,7 @@ SSTidalRooms_EventScript_1A02CA:: @ 81A02CA fadescreen 1 fanfare 368 waitfanfare - special 0 + special HealPlayerParty fadescreen 0 return @@ -2119,7 +2119,7 @@ Event_WorldMap:: @ 81A02D6 lockall msgbox UnknownString_817303D, 4 fadescreen 1 - special 251 + special FieldShowRegionMap waitstate releaseall end @@ -2201,7 +2201,7 @@ Route101_EventScript_1A039B:: @ 81A039B Route101_EventScript_1A03A5:: @ 81A03A5 copyvar 0x8004, 0x8009 - special 213 + special ShowPokedexRatingMessage waittext waitbutton return @@ -2209,7 +2209,7 @@ Route101_EventScript_1A03A5:: @ 81A03A5 EverGrandeCity_ChampionsRoom_EventScript_1A03B0:: @ 81A03B0 Route101_EventScript_1A03B0:: @ 81A03B0 setvar 0x8004, 0 - specialval RESULT, 212 + specialval RESULT, ScriptGetPokedexInfo copyvar 0x8008, 0x8005 copyvar 0x8009, 0x8006 copyvar 0x800a, RESULT @@ -2220,7 +2220,7 @@ Route101_EventScript_1A03B0:: @ 81A03B0 compare 0x800a, 0 jumpeq Route101_EventScript_1A14DC setvar 0x8004, 1 - specialval RESULT, 212 + specialval RESULT, ScriptGetPokedexInfo copyvar 0x8008, 0x8005 copyvar 0x8009, 0x8006 buffernum 0, 0x8008 @@ -2328,7 +2328,7 @@ CaveOfOrigin_1F_EventScript_1A04D3:: @ 81A04D3 CaveOfOrigin_B2F_EventScript_1A04D3:: @ 81A04D3 setvar 0x8004, 1 setvar 0x8005, 1 - special 310 + special sub_810F758 waitstate releaseall end @@ -2533,7 +2533,7 @@ MossdeepCity_StevensHouse_EventScript_1A0678:: @ 81A0678 RustboroCity_DevonCorp_2F_EventScript_1A0678:: @ 81A0678 SlateportCity_House1_EventScript_1A0678:: @ 81A0678 fadescreen 1 - special 158 + special sub_80BF9F8 waitstate return @@ -2568,7 +2568,7 @@ EverGrandeCity_SidneysRoom_EventScript_1A0693:: @ 81A0693 setmaptile 10, 2, 733, 1 setmaptile 11, 2, 734, 1 setmaptile 12, 2, 733, 1 - special 142 + special DrawWholeMapView return EverGrandeCity_DrakesRoom_EventScript_1A0710:: @ 81A0710 @@ -2584,7 +2584,7 @@ EverGrandeCity_SidneysRoom_EventScript_1A0710:: @ 81A0710 setmaptile 5, 13, 526, 1 setmaptile 6, 13, 526, 1 setmaptile 7, 13, 526, 1 - special 142 + special DrawWholeMapView return EverGrandeCity_DrakesRoom_EventScript_1A0757:: @ 81A0757 @@ -3256,7 +3256,7 @@ Event_NoRegisteredItem:: @ 81A14AF gUnknown_081A14B8:: @ 81A14B8 lockall - special 199 + special ExecuteWhiteOut waitstate compare RESULT, 1 jumpeq EventScript_1A14CA @@ -3267,10 +3267,10 @@ EventScript_1A14CA:: message UnknownString_81A1141 waittext waitbutton - special 332 + special sub_8081924 waitstate fadescreen 1 - special 200 + special sp0C8_whiteout_maybe waitstate end @@ -3600,8 +3600,8 @@ SecretBase_RedCave1_Text_1A2BA4:: @ 81A2BA4 .string "Are you speechless?$" gUnknown_081A2C51:: @ 81A2C51 - special 21 - special 7 + special sub_80BB70C + special sub_80BB63C compare RESULT, 1 jumpeq EventScript_1A2E45 checkattack MOVE_SECRET_POWER @@ -3719,11 +3719,11 @@ EventScript_1A2DB8: playsfx 9 setvar 0x4097, 0 setflag 173 - special 6 - special 8 + special sub_80BB8CC + special sub_80BBAF0 setvar 0x8004, 0 setvar 0x8005, 0 - special 18 + special sub_80BBDD0 setvar 0x4089, 1 waitstate end @@ -3737,13 +3737,13 @@ SecretBase_RedCave1_EventScript_1A2DDE:: @ 81A2DDE jumpeq SecretBase_RedCave1_EventScript_1A2E08 closebutton playsfx 9 - special 9 + special sub_80BC440 end SecretBase_RedCave1_EventScript_1A2E08:: @ 81A2E08 closebutton setflag 96 - special 24 + special sub_80BBC78 waitstate end @@ -3756,18 +3756,18 @@ gUnknown_081A2E14:: @ 81A2E14 lockall setvar 0x4097, 1 playsfx 9 - special 11 + special sub_80BC114 compare RESULT, 0 jumpeq EventScript_1A2E38 clearflag 173 - special 8 + special sub_80BBAF0 setvar 0x4089, 0 waitstate end EventScript_1A2E38: setflag 173 - special 8 + special sub_80BBAF0 setvar 0x4089, 0 waitstate end @@ -3779,7 +3779,7 @@ EventScript_1A2E45: setanimation 0, RESULT setorcopyvar 0x8004, RESULT lockall - special 278 + special GetSecretBaseNearbyMapName msgbox UnknownString_81A3C71, 5 compare RESULT, 0 jumpeq EventScript_1A2F3A @@ -3787,7 +3787,7 @@ EventScript_1A2E45: compare RESULT, 0 jumpeq EventScript_1A2F3A fadescreen 1 - special 330 + special sub_80BC50C closebutton fadescreen 0 msgbox UnknownString_81A3CC9, 5 @@ -3857,7 +3857,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1A2F68:: @ 81A2F68 SecretBase_RedCave1_EventScript_1A2F68:: @ 81A2F68 setvar 0x8004, 0 setvar 0x8005, 0 - special 18 + special sub_80BBDD0 setvar 0x4089, 1 end @@ -3867,7 +3867,7 @@ gUnknown_081A2F7B:: @ 81A2F7B end EventScript_1A2F86: - special 19 + special sub_80FF474 end gUnknown_081A2F8A:: @ 81A2F8A @@ -3876,7 +3876,7 @@ gUnknown_081A2F8A:: @ 81A2F8A end EventScript_1A2F95: - special 23 + special sub_8100A7C compare RESULT, 1 jumpeq EventScript_1A2FBF addvar 0x8004, 1 @@ -3914,7 +3914,7 @@ SecretBase_YellowCave1_EventScript_1A2FC0:: @ 81A2FC0 SecretBase_YellowCave2_EventScript_1A2FC0:: @ 81A2FC0 SecretBase_YellowCave3_EventScript_1A2FC0:: @ 81A2FC0 SecretBase_YellowCave4_EventScript_1A2FC0:: @ 81A2FC0 - special 17 + special sub_80BCE90 compare 0x8004, 0 jumpeq SecretBase_RedCave1_EventScript_1A3032 compare 0x8004, 1 @@ -3948,7 +3948,7 @@ SecretBase_RedCave1_EventScript_1A3032:: @ 81A3032 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A308F setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A308F @@ -3963,7 +3963,7 @@ SecretBase_RedCave1_EventScript_1A3086:: @ 81A3086 SecretBase_RedCave1_EventScript_1A308F:: @ 81A308F setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1B97, 2 end @@ -3983,7 +3983,7 @@ SecretBase_RedCave1_EventScript_1A30AE:: @ 81A30AE compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A310B setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A310B @@ -3998,7 +3998,7 @@ SecretBase_RedCave1_EventScript_1A3102:: @ 81A3102 SecretBase_RedCave1_EventScript_1A310B:: @ 81A310B setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1F2E, 2 end @@ -4018,7 +4018,7 @@ SecretBase_RedCave1_EventScript_1A312A:: @ 81A312A compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3187 setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3187 @@ -4033,7 +4033,7 @@ SecretBase_RedCave1_EventScript_1A317E:: @ 81A317E SecretBase_RedCave1_EventScript_1A3187:: @ 81A3187 setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2230, 2 end @@ -4053,7 +4053,7 @@ SecretBase_RedCave1_EventScript_1A31A6:: @ 81A31A6 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3203 setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3203 @@ -4068,7 +4068,7 @@ SecretBase_RedCave1_EventScript_1A31FA:: @ 81A31FA SecretBase_RedCave1_EventScript_1A3203:: @ 81A3203 setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A258A, 2 end @@ -4088,7 +4088,7 @@ SecretBase_RedCave1_EventScript_1A3222:: @ 81A3222 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A327F setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A327F @@ -4103,7 +4103,7 @@ SecretBase_RedCave1_EventScript_1A3276:: @ 81A3276 SecretBase_RedCave1_EventScript_1A327F:: @ 81A327F setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A28F4, 2 end @@ -4123,7 +4123,7 @@ SecretBase_RedCave1_EventScript_1A329E:: @ 81A329E compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A32FB setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A32FB @@ -4138,7 +4138,7 @@ SecretBase_RedCave1_EventScript_1A32F2:: @ 81A32F2 SecretBase_RedCave1_EventScript_1A32FB:: @ 81A32FB setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A1D59, 2 end @@ -4158,7 +4158,7 @@ SecretBase_RedCave1_EventScript_1A331A:: @ 81A331A compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3377 setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A3377 @@ -4173,7 +4173,7 @@ SecretBase_RedCave1_EventScript_1A336E:: @ 81A336E SecretBase_RedCave1_EventScript_1A3377:: @ 81A3377 setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A20AE, 2 end @@ -4193,7 +4193,7 @@ SecretBase_RedCave1_EventScript_1A3396:: @ 81A3396 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A33F3 setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A33F3 @@ -4208,7 +4208,7 @@ SecretBase_RedCave1_EventScript_1A33EA:: @ 81A33EA SecretBase_RedCave1_EventScript_1A33F3:: @ 81A33F3 setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2420, 2 end @@ -4228,7 +4228,7 @@ SecretBase_RedCave1_EventScript_1A3412:: @ 81A3412 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A346F setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A346F @@ -4243,7 +4243,7 @@ SecretBase_RedCave1_EventScript_1A3466:: @ 81A3466 SecretBase_RedCave1_EventScript_1A346F:: @ 81A346F setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2736, 2 end @@ -4263,7 +4263,7 @@ SecretBase_RedCave1_EventScript_1A348E:: @ 81A348E compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A34EB setvar RESULT, 1 - special 25 + special sub_80BCE4C call SecretBase_RedCave1_EventScript_19F806 compare RESULT, 0 jumpeq SecretBase_RedCave1_EventScript_1A34EB @@ -4278,7 +4278,7 @@ SecretBase_RedCave1_EventScript_1A34E2:: @ 81A34E2 SecretBase_RedCave1_EventScript_1A34EB:: @ 81A34EB setvar RESULT, 0 - special 25 + special sub_80BCE4C hidebox 0, 0, 15, 10 msgbox SecretBase_RedCave1_Text_1A2AFB, 2 end @@ -4288,12 +4288,12 @@ SecretBase_RedCave1_EventScript_1A3501:: @ 81A3501 end SecretBase_RedCave1_EventScript_1A350A:: @ 81A350A - special 16 + special sub_80BCE1C setvar 0x8004, 1 setvar 0x8005, 0 - special 236 + special sub_813556C waitstate - special 0 + special HealPlayerParty release end @@ -4378,14 +4378,14 @@ BattleTower_Lobby_EventScript_1ADE46:: @ 81ADE46 FallarborTown_ContestLobby_EventScript_1ADE46:: @ 81ADE46 SlateportCity_OceanicMuseum_1F_EventScript_1ADE46:: @ 81ADE46 SlateportCity_PokemonFanClub_EventScript_1ADE46:: @ 81ADE46 - special 68 + special sub_80BDE48 inccounter GAME_STAT_GOT_INTERVIEWED release end SlateportCity_PokemonFanClub_EventScript_1ADE4D:: @ 81ADE4D setvar 0x8005, 1 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq SlateportCity_PokemonFanClub_EventScript_1ADED6 copyvar 0x8009, 0x8006 @@ -4430,7 +4430,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADEE0:: @ 81ADEE0 lock faceplayer setvar 0x8005, 2 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq SlateportCity_OceanicMuseum_1F_EventScript_1ADF96 copyvar 0x8009, 0x8006 @@ -4485,11 +4485,11 @@ SlateportCity_OceanicMuseum_1F_EventScript_1ADF96:: @ 81ADF96 SlateportCity_PokemonFanClub_EventScript_1ADFA0:: @ 81ADFA0 lock faceplayer - specialval RESULT, 69 + specialval RESULT, sub_80BF544 compare RESULT, 0 jumpeq SlateportCity_PokemonFanClub_EventScript_1ADE4D setvar 0x8005, 3 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq SlateportCity_PokemonFanClub_EventScript_1AE0AC copyvar 0x8009, 0x8006 @@ -4566,7 +4566,7 @@ VerdanturfTown_ContestLobby_EventScript_1AE0B6:: @ 81AE0B6 checkflag 2 jumpeq FallarborTown_ContestLobby_EventScript_1AE17E setvar 0x8005, 6 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq FallarborTown_ContestLobby_EventScript_1AE17E copyvar 0x8009, 0x8006 @@ -4598,7 +4598,7 @@ FallarborTown_ContestLobby_EventScript_1AE12D:: @ 81AE12D FallarborTown_ContestLobby_EventScript_1AE137:: @ 81AE137 setvar 0x8004, 24 - special 70 + special SetContestCategoryStringVarForInterview msgbox FallarborTown_ContestLobby_Text_1A70A5, 4 setvar 0x8004, 11 copyvar 0x8005, 0x8009 @@ -4626,7 +4626,7 @@ VerdanturfTown_ContestLobby_EventScript_1AE188:: @ 81AE188 compare 0x4086, 2 jumpif 5, FallarborTown_ContestLobby_EventScript_1AE1FE setvar 0x8005, 6 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq FallarborTown_ContestLobby_EventScript_1AE1FE switch 0x4088 @@ -4663,7 +4663,7 @@ BattleTower_Lobby_EventScript_1AE1FF:: @ 81AE1FF checkflag 2 jumpeq BattleTower_Lobby_EventScript_1AE2E3 setvar 0x8005, 7 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq BattleTower_Lobby_EventScript_1AE2E3 copyvar 0x8009, 0x8006 @@ -4732,7 +4732,7 @@ BattleTower_Lobby_EventScript_1AE2ED:: @ 81AE2ED compare 0x40bc, 0 jumpeq BattleTower_Lobby_EventScript_1AE30F setvar 0x8005, 7 - special 67 + special sub_80BF2C4 compare RESULT, 1 jumpeq BattleTower_Lobby_EventScript_1AE30F clearflag 918 @@ -4827,7 +4827,7 @@ MauvilleCity_GameCorner_EventScript_1C40AC:: @ 81C40AC end MauvilleCity_GameCorner_EventScript_1C40DA:: @ 81C40DA - special 162 + special PlayRoulette waitstate end @@ -4900,7 +4900,7 @@ gUnknown_081C6BDE:: @ 81C6BDE waitmove 0 playsfx 43 pause 60 - special 319 + special sp13F_fall_to_last_warp waitstate end diff --git a/data/field_move_scripts.inc b/data/field_move_scripts.inc index 413ab351a..315217055 100644 --- a/data/field_move_scripts.inc +++ b/data/field_move_scripts.inc @@ -87,10 +87,10 @@ DoRockSmashMovement: @ 81B0F0C move LAST_TALKED, RockSmashMovement waitmove 0 disappear LAST_TALKED - specialval RESULT, 298 + specialval RESULT, sub_810F5BC compare RESULT, 1 jumpeq DoRockSmashMovement_Done - special 171 + special RockSmashWildEncounter compare RESULT, 0 jumpeq DoRockSmashMovement_Done waitstate diff --git a/data/graphics/pokemon/icon_palette_indices.inc b/data/graphics/pokemon/icon_palette_indices.inc deleted file mode 100644 index f37ec2a7a..000000000 --- a/data/graphics/pokemon/icon_palette_indices.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonIconPaletteIndices:: @ 83BC400 - .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 d9da61ab2..000000000 --- a/data/graphics/pokemon/icon_palette_table.inc +++ /dev/null @@ -1,11 +0,0 @@ - .align 2 -gMonIconPaletteTable:: @ 83BC5B8 - 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 eeb064208..000000000 --- a/data/graphics/pokemon/icon_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonIconTable:: @ 83BBD20 - .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/pokemon_icon.s b/data/pokemon_icon.s deleted file mode 100644 index ff5aa33dc..000000000 --- a/data/pokemon_icon.s +++ /dev/null @@ -1,92 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ 83BBD20 - .include "data/graphics/pokemon/icon_table.inc" - -@ 83BC400 - .include "data/graphics/pokemon/icon_palette_indices.inc" - -@ 83BC5B8 - .include "data/graphics/pokemon/icon_palette_table.inc" - - .align 2 -gOamData_83BC5E8:: @ 83BC5E8 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83BC5F0:: @ 83BC5F0 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BC5FC:: @ 83BC5FC - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BC608:: @ 83BC608 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BC614:: @ 83BC614 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BC620:: @ 83BC620 - obj_image_anim_frame 0, 29 - obj_image_anim_frame 0, 29 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83BC62C:: @ 83BC62C - .4byte gSpriteAnim_83BC5F0 - .4byte gSpriteAnim_83BC5FC - .4byte gSpriteAnim_83BC608 - .4byte gSpriteAnim_83BC614 - .4byte gSpriteAnim_83BC620 - - .align 2 -gSpriteAffineAnim_83BC640:: @ 83BC640 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 10 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83BC650:: @ 83BC650 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 122 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83BC660:: @ 83BC660 - .4byte gSpriteAffineAnim_83BC640 - .4byte gSpriteAffineAnim_83BC650 - - .align 1 -gSpriteImageSizes:: @ 83BC668 - @ square - .2byte 0x20 @ 1×1 - .2byte 0x80 @ 2×2 - .2byte 0x200 @ 4×4 - .2byte 0x800 @ 8×8 - - @ horizontal rectangle - .2byte 0x40 @ 2×1 - .2byte 0x80 @ 4×1 - .2byte 0x100 @ 4×2 - .2byte 0x400 @ 8×4 - - @ vertical rectangle - .2byte 0x40 @ 1×2 - .2byte 0x80 @ 1×4 - .2byte 0x100 @ 2×4 - .2byte 0x400 @ 4×8 diff --git a/data/scripts/bard.inc b/data/scripts/bard.inc index a30045fc8..3f25b100f 100644 --- a/data/scripts/bard.inc +++ b/data/scripts/bard.inc @@ -1,5 +1,5 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE744:: @ 81AE744 - special 97 + special sub_80F7B14 switch RESULT case 0, MauvilleCity_PokemonCenter_1F_EventScript_1AE784 case 1, MauvilleCity_PokemonCenter_1F_EventScript_1AE845 @@ -20,9 +20,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE784:: @ 81AE784 MauvilleCity_PokemonCenter_1F_EventScript_1AE7A5:: @ 81AE7A5 setvar 0x8004, 0 - special 103 + special sub_80F7C54 pause 60 - special 98 + special sub_80F7B2C compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE7D2 msgbox MauvilleCity_PokemonCenter_1F_Text_1B0AED, 4 @@ -51,12 +51,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE7F1:: @ 81AE7F1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE83B msgbox MauvilleCity_PokemonCenter_1F_Text_1B0BD0, 4 setvar 0x8004, 1 - special 103 + special sub_80F7C54 pause 60 msgbox MauvilleCity_PokemonCenter_1F_Text_1B0BFA, 5 compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE7F1 - special 99 + special sub_80F7B40 msgbox MauvilleCity_PokemonCenter_1F_Text_1B0C23, 4 release end diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index fcf32d15d..1bbe7d355 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -1,5 +1,5 @@ BerryTreeScript:: @ 81A14DD - special 43 + special FieldObjectInteractionGetBerryTreeData switch 0x8004 case 255, Route102_EventScript_1A1533 case 0, Route102_EventScript_1A153D @@ -21,7 +21,7 @@ Route102_EventScript_1A1533:: @ 81A1533 Route102_EventScript_1A153D:: @ 81A153D lock faceplayer - specialval RESULT, 49 + specialval RESULT, PlayerHasBerries compare RESULT, 1 jumpeq Route102_EventScript_1A1558 message Route102_Text_1A16B6 @@ -41,7 +41,7 @@ Route102_EventScript_1A1558:: @ 81A1558 Route102_EventScript_1A1577:: @ 81A1577 fadescreen 1 closebutton - special 44 + special sub_80B4EE4 waitstate compare ITEM_ID, 0 jumpeq Route102_EventScript_1A1593 @@ -108,10 +108,10 @@ Route102_EventScript_1A15F9:: @ 81A15F9 jumpeq Route102_EventScript_1A164B Route102_EventScript_1A161D:: @ 81A161D - special 46 + special FieldObjectInteractionPickBerryTree compare 0x8004, 0 jumpeq Route102_EventScript_1A1642 - special 47 + special FieldObjectInteractionRemoveBerryTree message Route102_Text_1A17FD fanfare 387 waittext @@ -139,7 +139,7 @@ Route102_EventScript_1A164B:: @ 81A164B gUnknown_081A1654:: @ 81A1654 lockall - special 43 + special FieldObjectInteractionGetBerryTreeData call Route102_EventScript_1A16A9 releaseall end @@ -159,14 +159,14 @@ Route102_EventScript_1A168D:: @ 81A168D end gUnknown_081A168F:: @ 81A168F - special 43 + special FieldObjectInteractionGetBerryTreeData lockall Route102_EventScript_1A1693:: @ 81A1693 message Route102_Text_1A1912 waittext - special 48 - special 94 + special FieldObjectInteractionWaterBerryTree + special DoWateringBerryTreeAnim waitstate message Route102_Text_1A1925 waittext @@ -175,7 +175,7 @@ Route102_EventScript_1A1693:: @ 81A1693 end Route102_EventScript_1A16A9:: @ 81A16A9 - special 45 + special FieldObjectInteractionPlantBerryTree inccounter GAME_STAT_PLANTED_BERRIES message Route102_Text_1A16FB waittext diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index c8f701d95..4a919c597 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -86,7 +86,7 @@ VerdanturfTown_PokemonCenter_2F_MapScript2_1A3D88:: @ 81A3D88 .2byte 0 OldaleTown_PokemonCenter_2F_EventScript_1A3DB2:: @ 81A3DB2 - special 31 + special CloseLink setvar 0x4087, 0 move 255, OldaleTown_PokemonCenter_2F_Movement_1A4358 waitmove 0 @@ -99,7 +99,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3DD9:: @ 81A3DD9 return OldaleTown_PokemonCenter_2F_EventScript_1A3DDA:: @ 81A3DDA - special 31 + special CloseLink setvar 0x4087, 0 compare 0x8007, 0 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C @@ -120,13 +120,13 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E17:: @ 81A3E17 lockall call OldaleTown_PokemonCenter_2F_EventScript_1A3E30 setmaptile 8, 3, 605, 1 - special 142 + special DrawWholeMapView hidebox 0, 0, 29, 19 releaseall end OldaleTown_PokemonCenter_2F_EventScript_1A3E30:: @ 81A3E30 - special 31 + special CloseLink setvar 0x4087, 0 compare 0x8007, 0 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3E0C @@ -148,14 +148,14 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3E30:: @ 81A3E30 OldaleTown_PokemonCenter_2F_EventScript_1A3E7B:: @ 81A3E7B call OldaleTown_PokemonCenter_2F_EventScript_1A3DB2 setmaptile 11, 3, 605, 1 - special 142 + special DrawWholeMapView end OldaleTown_PokemonCenter_2F_EventScript_1A3E8D:: @ 81A3E8D lockall call OldaleTown_PokemonCenter_2F_EventScript_1A3DDA setmaptile 5, 3, 605, 1 - special 142 + special DrawWholeMapView hidebox 0, 0, 29, 19 releaseall end @@ -199,7 +199,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3EF2:: @ 81A3EF2 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 message OldaleTown_PokemonCenter_2F_Text_1A490C waittext - special 28 + special sub_808347C waitstate compare RESULT, 1 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3F5E @@ -215,14 +215,14 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3EF2:: @ 81A3EF2 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A42F5 OldaleTown_PokemonCenter_2F_EventScript_1A3F5E:: @ 81A3F5E - special 0 - special 39 - special 331 + special HealPlayerParty + special SavePlayerParty + special LoadPlayerBag copyvar 0x4087, 0x8004 message2 OldaleTown_PokemonCenter_2F_Text_1A4A22 waittext setmaptile 5, 3, 514, 0 - special 142 + special DrawWholeMapView pause 60 move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 waitmove 0 @@ -239,16 +239,16 @@ OldaleTown_PokemonCenter_2F_EventScript_1A3F5E:: @ 81A3F5E release compare 0x8004, 5 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A3FCD - special 1 + special SetCableClubWarp warp SingleBattleColosseum, 255, 6, 8 - special 2 + special DoCableClubWarp waitstate end OldaleTown_PokemonCenter_2F_EventScript_1A3FCD:: @ 81A3FCD - special 1 + special SetCableClubWarp warp DoubleBattleColosseum, 255, 5, 8 - special 2 + special DoCableClubWarp waitstate end @@ -280,7 +280,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A403C:: @ 81A403C return OldaleTown_PokemonCenter_2F_EventScript_1A4042:: @ 81A4042 - special 61 + special CheckForAlivePartyMons compare RESULT, 0 jumpif 5, OldaleTown_PokemonCenter_2F_EventScript_1A4056 setvar 0x8004, 2 @@ -304,28 +304,28 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4068:: @ 81A4068 jump OldaleTown_PokemonCenter_2F_EventScript_1A432D OldaleTown_PokemonCenter_2F_EventScript_1A4093:: @ 81A4093 - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4C03 waittext waitbutton jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0 OldaleTown_PokemonCenter_2F_EventScript_1A40A2:: @ 81A40A2 - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4BCC waittext waitbutton jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0 OldaleTown_PokemonCenter_2F_EventScript_1A40B1:: @ 81A40B1 - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4B95 waittext waitbutton jump OldaleTown_PokemonCenter_2F_EventScript_1A40C0 OldaleTown_PokemonCenter_2F_EventScript_1A40C0:: @ 81A40C0 - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4C38 waittext waitbutton @@ -366,7 +366,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A40FA:: @ 81A40FA jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 message OldaleTown_PokemonCenter_2F_Text_1A490C waittext - special 29 + special sub_80834E4 waitstate compare RESULT, 1 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4166 @@ -387,7 +387,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4166:: @ 81A4166 message2 OldaleTown_PokemonCenter_2F_Text_1A4A22 waittext setmaptile 8, 3, 514, 0 - special 142 + special DrawWholeMapView pause 60 move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 waitmove 0 @@ -405,10 +405,10 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4166:: @ 81A4166 jump OldaleTown_PokemonCenter_2F_EventScript_1A4325 OldaleTown_PokemonCenter_2F_EventScript_1A41BB:: @ 81A41BB - specialval RESULT, 131 + specialval RESULT, CalculatePlayerPartyCount compare RESULT, 2 jumpif 0, OldaleTown_PokemonCenter_2F_EventScript_1A41E1 - specialval RESULT, 339 + specialval RESULT, GetNameOfEnigmaBerryInPlayerParty compare RESULT, 1 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A41EE setvar RESULT, 1 @@ -460,9 +460,9 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4229:: @ 81A4229 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4319 message OldaleTown_PokemonCenter_2F_Text_1A490C waittext - special 30 + special sub_808350C waitstate - special 341 + special sub_80835D8 waitstate compare RESULT, 1 jumpeq OldaleTown_PokemonCenter_2F_EventScript_1A4294 @@ -485,7 +485,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4294:: @ 81A4294 message2 OldaleTown_PokemonCenter_2F_Text_1A4A22 waittext setmaptile 11, 3, 514, 0 - special 142 + special DrawWholeMapView pause 60 move LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_1A4356 waitmove 0 @@ -503,7 +503,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4294:: @ 81A4294 jump OldaleTown_PokemonCenter_2F_EventScript_1A4325 OldaleTown_PokemonCenter_2F_EventScript_1A42E9:: @ 81A42E9 - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4AC8 waittext waitbutton @@ -511,7 +511,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A42E9:: @ 81A42E9 end OldaleTown_PokemonCenter_2F_EventScript_1A42F5:: @ 81A42F5 - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4A85 waittext waitbutton @@ -519,7 +519,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A42F5:: @ 81A42F5 end OldaleTown_PokemonCenter_2F_EventScript_1A4301:: @ 81A4301 - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4A30 waittext waitbutton @@ -527,7 +527,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4301:: @ 81A4301 end OldaleTown_PokemonCenter_2F_EventScript_1A430D:: @ 81A430D - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4B1D waittext waitbutton @@ -535,7 +535,7 @@ OldaleTown_PokemonCenter_2F_EventScript_1A430D:: @ 81A430D end OldaleTown_PokemonCenter_2F_EventScript_1A4319:: @ 81A4319 - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4B59 waittext waitbutton @@ -543,13 +543,13 @@ OldaleTown_PokemonCenter_2F_EventScript_1A4319:: @ 81A4319 end OldaleTown_PokemonCenter_2F_EventScript_1A4325:: @ 81A4325 - special 1 - special 2 + special SetCableClubWarp + special DoCableClubWarp waitstate end OldaleTown_PokemonCenter_2F_EventScript_1A432D:: @ 81A432D - special 31 + special CloseLink message OldaleTown_PokemonCenter_2F_Text_1A4B6C waittext waitbutton @@ -597,7 +597,7 @@ OldaleTown_PokemonCenter_2F_Movement_1A4361:: @ 81A4361 gUnknown_081A4363:: @ 81A4363 lockall - special 196 + special ShowLinkBattleRecords waitbutton hidebox 0, 0, 29, 19 releaseall @@ -605,57 +605,57 @@ gUnknown_081A4363:: @ 81A4363 SingleBattleColosseum_EventScript_1A436F:: @ 81A436F setvar 0x8005, 0 - special 32 + special sub_8083B90 waitstate end SingleBattleColosseum_EventScript_1A4379:: @ 81A4379 setvar 0x8005, 1 - special 32 + special sub_8083B90 waitstate end DoubleBattleColosseum_EventScript_1A4383:: @ 81A4383 fadescreen 1 - special 41 + special sub_80C5568 waitstate compare RESULT, 0 jumpeq DoubleBattleColosseum_EventScript_1A43EF setvar 0x8005, 0 - special 32 + special sub_8083B90 waitstate end DoubleBattleColosseum_EventScript_1A439E:: @ 81A439E fadescreen 1 - special 41 + special sub_80C5568 waitstate compare RESULT, 0 jumpeq DoubleBattleColosseum_EventScript_1A43EF setvar 0x8005, 1 - special 32 + special sub_8083B90 waitstate end DoubleBattleColosseum_EventScript_1A43B9:: @ 81A43B9 fadescreen 1 - special 41 + special sub_80C5568 waitstate compare RESULT, 0 jumpeq DoubleBattleColosseum_EventScript_1A43EF setvar 0x8005, 2 - special 32 + special sub_8083B90 waitstate end DoubleBattleColosseum_EventScript_1A43D4:: @ 81A43D4 fadescreen 1 - special 41 + special sub_80C5568 waitstate compare RESULT, 0 jumpeq DoubleBattleColosseum_EventScript_1A43EF setvar 0x8005, 3 - special 32 + special sub_8083B90 waitstate end @@ -664,31 +664,31 @@ DoubleBattleColosseum_EventScript_1A43EF:: @ 81A43EF TradeCenter_EventScript_1A43F0:: @ 81A43F0 setvar 0x8005, 0 - special 33 + special sub_8083B5C waitstate end TradeCenter_EventScript_1A43FA:: @ 81A43FA setvar 0x8005, 1 - special 33 + special sub_8083B5C waitstate end @ 81A4404 setvar 0x8005, 2 - special 33 + special sub_8083B5C waitstate end @ 81A440E setvar 0x8005, 3 - special 33 + special sub_8083B5C waitstate end RecordCorner_EventScript_1A4418:: @ 81A4418 setvar 0x8005, 0 - special 27 + special sub_80B929C waitstate compare 0x4001, 0 jumpif 5, RecordCorner_EventScript_1A446C @@ -696,7 +696,7 @@ RecordCorner_EventScript_1A4418:: @ 81A4418 RecordCorner_EventScript_1A442D:: @ 81A442D setvar 0x8005, 1 - special 27 + special sub_80B929C waitstate compare 0x4001, 0 jumpif 5, RecordCorner_EventScript_1A446C @@ -704,7 +704,7 @@ RecordCorner_EventScript_1A442D:: @ 81A442D RecordCorner_EventScript_1A4442:: @ 81A4442 setvar 0x8005, 2 - special 27 + special sub_80B929C waitstate compare 0x4001, 0 jumpif 5, RecordCorner_EventScript_1A446C @@ -712,7 +712,7 @@ RecordCorner_EventScript_1A4442:: @ 81A4442 RecordCorner_EventScript_1A4457:: @ 81A4457 setvar 0x8005, 3 - special 27 + special sub_80B929C waitstate compare 0x4001, 0 jumpif 5, RecordCorner_EventScript_1A446C @@ -731,7 +731,7 @@ TradeRoom_ReadTrainerCard1:: @ 81A4479 waittext waitbutton fadescreen 1 - special 42 + special sub_8083BDC waitstate end @@ -740,7 +740,7 @@ TradeRoom_ReadTrainerCard2:: @ 81A4487 waittext waitbutton fadescreen 1 - special 42 + special sub_8083BDC waitstate end @@ -752,40 +752,40 @@ TradeRoom_TooBusyToNotice:: @ 81A4495 end SingleBattleColosseum_EventScript_1A449E:: @ 81A449E - special 295 + special sub_8064EAC message SingleBattleColosseum_Text_1A4D7E waittext waitbutton - special 296 + special sub_8064ED4 closebutton end TradeCenter_EventScript_1A44AD:: @ 81A44AD - special 295 + special sub_8064EAC message TradeCenter_Text_1A4DAB waittext waitbutton - special 296 + special sub_8064ED4 closebutton end RecordCorner_EventScript_1A44BC:: @ 81A44BC compare 0x4000, 0 jumpif 5, RecordCorner_EventScript_1A44D6 - special 295 + special sub_8064EAC message RecordCorner_Text_1A4DD7 waittext waitbutton - special 296 + special sub_8064ED4 closebutton end RecordCorner_EventScript_1A44D6:: @ 81A44D6 - special 295 + special sub_8064EAC message RecordCorner_Text_1A4DF7 waittext waitbutton - special 296 + special sub_8064ED4 closebutton end @@ -799,11 +799,11 @@ TradeRoom_PromptToCancelLink:: @ 81A44E5 TradeRoom_TerminateLink:: @ 81A44FE message2 TradeRoom_TerminatingLink waittext - special 5 + special sub_80839D0 end gUnknown_081A4508:: @ 81A4508 - special 4 - special 3 + special sub_80839A4 + special sub_80810DC waitstate end diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index a8b134c0b..1952264d2 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -122,7 +122,7 @@ FallarborTown_ContestLobby_EventScript_1A5048:: @ 81A5048 choosecontestpkmn compare 0x8004, 255 jumpeq FallarborTown_ContestLobby_EventScript_1A5097 - special 84 + special sub_80C43F4 compare RESULT, 0 jumpeq FallarborTown_ContestLobby_EventScript_1A50C8 compare RESULT, 1 @@ -337,7 +337,7 @@ LinkContestRoom1_EventScript_1A5311:: @ 81A5311 return LinkContestRoom1_EventScript_1A5323:: @ 81A5323 - special 81 + special sub_80C4C64 addvar 0x8006, 1 buffernum 1, 0x8006 lockall @@ -352,7 +352,7 @@ LinkContestRoom1_EventScript_1A5323:: @ 81A5323 releaseall addvar 0x8006, -1 playsfx 15 - special 320 + special ShowContestEntryMonPic call LinkContestRoom1_EventScript_1A535E return @@ -430,7 +430,7 @@ LinkContestRoom1_EventScript_1A53E5:: @ 81A53E5 return LinkContestRoom1_EventScript_1A5455:: @ 81A5455 - special 87 + special sub_80C47A0 compare 0x4088, 1 callif 1, LinkContestRoom1_EventScript_1A555A compare 0x4088, 2 @@ -463,7 +463,7 @@ LinkContestRoom1_EventScript_1A5455:: @ 81A5455 LinkContestRoom1_EventScript_1A54EB:: @ 81A54EB setvar RESULT, 8 - special 340 + special ScriptRandom compare RESULT, 0 callif 1, LinkContestRoom1_EventScript_1A5760 compare RESULT, 1 @@ -725,7 +725,7 @@ LinkContestRoom1_EventScript_1A5880:: @ 81A5880 closebutton release disappear 13 - special 321 + special sub_80C5164 switch 0x8006 case 0, LinkContestRoom1_EventScript_1A58BA case 1, LinkContestRoom1_EventScript_1A58C7 @@ -857,7 +857,7 @@ LinkContestRoom1_EventScript_1A59F2:: @ 81A59F2 return LinkContestRoom1_EventScript_1A59FC:: @ 81A59FC - special 76 + special sub_80C47C0 switch 0x8005 case 0, LinkContestRoom1_EventScript_1A5A31 case 1, LinkContestRoom1_EventScript_1A5A37 @@ -882,8 +882,8 @@ LinkContestRoom1_EventScript_1A5A43:: @ 81A5A43 return LinkContestRoom1_EventScript_1A5A49:: @ 81A5A49 - special 79 - special 80 + special sub_80C47F0 + special sub_80C4858 addvar 0x8005, 1 buffernum 1, 0x8005 addvar 0x8005, -1 @@ -1006,7 +1006,7 @@ LinkContestRoom1_EventScript_1A5BAB:: @ 81A5BAB setvar 0x4001, 0 call LinkContestRoom1_EventScript_1A5A90 pause 30 - special 134 + special sub_80C4CF8 compare 0x8004, 1 jumpeq LinkContestRoom1_EventScript_1A5C46 return @@ -1015,19 +1015,19 @@ LinkContestRoom1_EventScript_1A5BF6:: @ 81A5BF6 inccounter GAME_STAT_WON_CONTEST msgbox LinkContestRoom1_Text_1A6DF1, 3 pause 90 - special 134 + special sub_80C4CF8 compare 0x8004, 1 jumpeq LinkContestRoom1_EventScript_1A5C46 return LinkContestRoom1_EventScript_1A5C12:: @ 81A5C12 - specialval RESULT, 88 + specialval RESULT, sub_80C4440 compare RESULT, 1 jumpeq LinkContestRoom1_EventScript_1A5C23 return LinkContestRoom1_EventScript_1A5C23:: @ 81A5C23 - special 76 + special sub_80C47C0 compare 0x8005, 3 jumpeq LinkContestRoom1_EventScript_1A5C32 return @@ -1052,7 +1052,7 @@ LinkContestRoom1_EventScript_1A5C46:: @ 81A5C46 LinkContestRoom1_EventScript_1A5C4C:: @ 81A5C4C pause 60 call LinkContestRoom1_EventScript_1A5C6A - special 134 + special sub_80C4CF8 compare 0x8004, 1 jumpeq LinkContestRoom1_EventScript_1A5C64 closebutton @@ -1063,8 +1063,8 @@ LinkContestRoom1_EventScript_1A5C64:: @ 81A5C64 return LinkContestRoom1_EventScript_1A5C6A:: @ 81A5C6A - special 77 - special 76 + special sub_80C496C + special sub_80C47C0 comparevars 0x8004, 0x8005 jumpeq LinkContestRoom1_EventScript_1A5C7C return @@ -1110,7 +1110,7 @@ LinkContestRoom1_EventScript_1A5CD8:: @ 81A5CD8 return LinkContestRoom1_EventScript_1A5CE5:: @ 81A5CE5 - special 76 + special sub_80C47C0 compare 0x8005, 3 jumpeq LinkContestRoom1_EventScript_1A5CFC msgbox LinkContestRoom1_Text_1A6DF1, 3 @@ -1120,7 +1120,7 @@ LinkContestRoom1_EventScript_1A5CFC:: @ 81A5CFC compare 0x4088, 2 callif 1, LinkContestRoom1_EventScript_1A5C42 inccounter GAME_STAT_WON_CONTEST - specialval RESULT, 88 + specialval RESULT, sub_80C4440 compare RESULT, 0 jumpeq LinkContestRoom1_EventScript_1A5D5B compare CONTEST_RANK, 3 @@ -1141,7 +1141,7 @@ LinkContestRoom1_EventScript_1A5D3B:: @ 81A5D3B return LinkContestRoom1_EventScript_1A5D5B:: @ 81A5D5B - special 89 + special sub_80C44C0 inccounter GAME_STAT_RECEIVED_RIBBONS setflag 2107 lockall @@ -1149,7 +1149,7 @@ LinkContestRoom1_EventScript_1A5D5B:: @ 81A5D5B fanfare 370 msgbox LinkContestRoom1_Text_1A6D96, 4 waitfanfare - special 80 + special sub_80C4858 msgbox LinkContestRoom1_Text_1A6DAC, 4 releaseall return diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index 1e248ba9f..b5b3d4670 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -1,8 +1,8 @@ Route117_EventScript_1B222D:: @ 81B222D lock faceplayer - special 181 - specialval RESULT, 182 + special sp0B5_daycare + specialval RESULT, sp0B6_daycare compare RESULT, 1 jumpeq Route117_EventScript_1B2262 compare RESULT, 2 @@ -22,12 +22,12 @@ Route117_EventScript_1B2262:: @ 81B2262 jumpeq Route117_EventScript_1B2298 msgbox Route117_Text_1B2745, 4 clearflag 134 - special 183 + special sub_8041E7C release end Route117_EventScript_1B2298:: @ 81B2298 - specialval RESULT, 131 + specialval RESULT, CalculatePlayerPartyCount compare RESULT, 6 jumpif 5, Route117_EventScript_1B22B2 msgbox Route117_Text_1B2766, 4 @@ -41,13 +41,13 @@ Route117_EventScript_1B22B2:: @ 81B22B2 waittext waitbutton msgbox Route117_Text_1B27CD, 4 - special 184 + special sp0B8_daycare clearflag 134 release end Route117_EventScript_1B22CD:: @ 81B22CD - specialval RESULT, 195 + specialval RESULT, sub_8042B4C compare RESULT, 1 callif 1, Route117_EventScript_1B22DE return @@ -57,7 +57,7 @@ Route117_EventScript_1B22DE:: @ 81B22DE return Route117_EventScript_1B22E7:: @ 81B22E7 - special 181 + special sp0B5_daycare msgbox Route117_Text_1B2710, 4 setvar 0x8004, 0 call Route117_EventScript_1B22CD @@ -65,10 +65,10 @@ Route117_EventScript_1B22E7:: @ 81B22E7 end Route117_EventScript_1B22FE:: @ 81B22FE - special 181 + special sp0B5_daycare msgbox Route117_Text_1B2897, 4 - special 185 - special 141 + special sp0B9_daycare_relationship_comment + special ShowFieldMessageStringVar4 waittext waitbutton setvar 0x8004, 0 @@ -81,7 +81,7 @@ Route117_EventScript_1B22FE:: @ 81B22FE Route117_PokemonDayCare_EventScript_1B2327:: @ 81B2327 lock faceplayer - specialval RESULT, 182 + specialval RESULT, sp0B6_daycare compare RESULT, 1 jumpeq Route117_PokemonDayCare_EventScript_1B2407 compare RESULT, 2 @@ -96,26 +96,26 @@ Route117_PokemonDayCare_EventScript_1B2327:: @ 81B2327 end Route117_PokemonDayCare_EventScript_1B236C:: @ 81B236C - specialval RESULT, 132 + specialval RESULT, sub_8095B6C compare RESULT, 1 jumpeq Route117_PokemonDayCare_EventScript_1B23F3 msgbox Route117_PokemonDayCare_Text_1B2947, 4 fadescreen 1 - special 188 + special ChooseSendDaycareMon waitstate compare 0x8004, 255 jumpeq Route117_PokemonDayCare_EventScript_1B23D0 - specialval RESULT, 133 + specialval RESULT, sub_8095C10 compare RESULT, 0 jumpeq Route117_PokemonDayCare_EventScript_1B23FD - specialval 0x8005, 186 + specialval 0x8005, sub_8042328 checksound pokecry 0x8005, 0 msgbox Route117_PokemonDayCare_Text_1B296E, 4 waitpokecry - special 187 + special Daycare_SendPokemon_Special inccounter GAME_STAT_USED_DAYCARE - specialval RESULT, 182 + specialval RESULT, sp0B6_daycare compare RESULT, 2 jumpeq Route117_PokemonDayCare_EventScript_1B23DA release @@ -153,7 +153,7 @@ Route117_PokemonDayCare_EventScript_1B2411:: @ 81B2411 return Route117_PokemonDayCare_EventScript_1B241A:: @ 81B241A - specialval RESULT, 190 + specialval RESULT, sub_80417B8 compare RESULT, 0 callif 5, Route117_PokemonDayCare_EventScript_1B2411 return @@ -172,14 +172,14 @@ Route117_PokemonDayCare_EventScript_1B242B:: @ 81B242B end Route117_PokemonDayCare_EventScript_1B2469:: @ 81B2469 - specialval RESULT, 131 + specialval RESULT, CalculatePlayerPartyCount compare RESULT, 6 jumpeq Route117_PokemonDayCare_EventScript_1B2539 - specialval RESULT, 182 + specialval RESULT, sp0B6_daycare setvar 0x8004, 0 compare RESULT, 2 jumpeq Route117_PokemonDayCare_EventScript_1B24A8 - special 189 + special ShowDaycareLevelMenu waitstate copyvar 0x8004, RESULT compare RESULT, 2 @@ -188,7 +188,7 @@ Route117_PokemonDayCare_EventScript_1B2469:: @ 81B2469 end Route117_PokemonDayCare_EventScript_1B24A8:: @ 81B24A8 - special 191 + special sub_8041770 msgbox Route117_PokemonDayCare_Text_1B2B49, 5 compare RESULT, 1 jumpeq Route117_PokemonDayCare_EventScript_1B24C4 @@ -196,7 +196,7 @@ Route117_PokemonDayCare_EventScript_1B24A8:: @ 81B24A8 end Route117_PokemonDayCare_EventScript_1B24C4:: @ 81B24C4 - specialval RESULT, 197 + specialval RESULT, sub_80B7CE8 compare RESULT, 1 jumpeq Route117_PokemonDayCare_EventScript_1B24DE msgbox Route117_PokemonDayCare_Text_1B2A30, 4 @@ -206,15 +206,15 @@ Route117_PokemonDayCare_EventScript_1B24C4:: @ 81B24C4 Route117_PokemonDayCare_EventScript_1B24DE:: @ 81B24DE move 1, Route117_PokemonDayCare_Movement_1B2543 waitmove 0 - specialval RESULT, 192 - special 198 + specialval RESULT, sub_8041648 + special sub_80B7D0C playsfx 95 msgbox Route117_PokemonDayCare_Text_1B2B75, 4 checksound pokecry RESULT, 0 msgbox Route117_PokemonDayCare_Text_1B2B93, 4 waitpokecry - specialval RESULT, 182 + specialval RESULT, sp0B6_daycare compare RESULT, 2 jumpeq Route117_PokemonDayCare_EventScript_1B2520 jump Route117_PokemonDayCare_EventScript_1B23D0 @@ -271,12 +271,12 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558 end @ 81B2591 - special 189 + special ShowDaycareLevelMenu waitstate compare RESULT, 2 jumpeq Route117_PokemonDayCare_EventScript_1B23D0 copyvar 0x8004, RESULT - specialval RESULT, 192 + specialval RESULT, sub_8041648 msgbox Route117_PokemonDayCare_Text_1B2B75, 4 msgbox Route117_PokemonDayCare_Text_1B2A76, 4 release @@ -285,7 +285,7 @@ Route117_PokemonDayCare_EventScript_1B2558:: @ 81B2558 Event_EggHatch:: @ 81B25BC lockall msgbox UnknownString_81B2C68, 4 - special 194 + special EggHatch waitstate releaseall end diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index f008e892b..67a0920fa 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -2,7 +2,7 @@ Route111_EventScript_1AE313:: @ 81AE313 Route118_EventScript_1AE313:: @ 81AE313 Route120_EventScript_1AE313:: @ 81AE313 settrainerflag OPPONENT_GABBY_AND_TY_6 - specialval RESULT, 172 + specialval RESULT, GabbyAndTyGetBattleNum switch RESULT case 0, Route111_EventScript_1AE384 case 1, Route111_EventScript_1AE38A @@ -200,8 +200,8 @@ Route120_EventScript_1AE582:: @ 81AE582 end Route111_EventScript_1AE5A2:: @ 81AE5A2 - special 174 - special 179 + special GabbyAndTyBeforeInterview + special GabbyAndTySetScriptVarsToFieldObjectLocalIds compare FACING, 2 callif 1, Route111_EventScript_1AE5E0 compare FACING, 1 @@ -234,8 +234,8 @@ Route111_EventScript_1AE5FD:: @ 81AE5FD Route111_EventScript_1AE60F:: @ 81AE60F Route118_EventScript_1AE60F:: @ 81AE60F Route120_EventScript_1AE60F:: @ 81AE60F - special 174 - special 179 + special GabbyAndTyBeforeInterview + special GabbyAndTySetScriptVarsToFieldObjectLocalIds compare FACING, 2 callif 1, Route111_EventScript_1AE5E0 compare FACING, 1 @@ -244,11 +244,11 @@ Route120_EventScript_1AE60F:: @ 81AE60F callif 1, Route111_EventScript_1AE5FD checkflag 1 jumpeq Route111_EventScript_1AE73A - specialval RESULT, 177 + specialval RESULT, GabbyAndTyGetLastQuote compare RESULT, 0 jumpeq Route111_EventScript_1AE69F msgbox Route111_Text_1AC10A, 4 - specialval RESULT, 178 + specialval RESULT, sub_80BDD18 switch RESULT case 0, Route111_EventScript_1AE6AD case 1, Route111_EventScript_1AE6BB @@ -310,7 +310,7 @@ Route111_EventScript_1AE6F3:: @ 81AE6F3 compare RESULT, 0 jumpeq Route111_EventScript_1AE72D msgbox Route111_Text_1AC487, 4 - special 173 + special sub_80BDC14 setflag 1 release end diff --git a/data/scripts/giddy.inc b/data/scripts/giddy.inc index 3cd57ad6e..263589fe9 100644 --- a/data/scripts/giddy.inc +++ b/data/scripts/giddy.inc @@ -9,7 +9,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B09EB:: @ 81B09EB end MauvilleCity_PokemonCenter_1F_EventScript_1B0A0C:: @ 81B0A0C - special 106 + special sub_80F7CC8 compare RESULT, 1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0A4E compare RESULT, 0 @@ -17,7 +17,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B0A0C:: @ 81B0A0C end MauvilleCity_PokemonCenter_1F_EventScript_1B0A26:: @ 81B0A26 - special 106 + special sub_80F7CC8 compare RESULT, 1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0A40 compare RESULT, 0 @@ -30,8 +30,8 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B0A40:: @ 81B0A40 end MauvilleCity_PokemonCenter_1F_EventScript_1B0A4E:: @ 81B0A4E - special 105 - special 141 + special sub_80F7CF4 + special ShowFieldMessageStringVar4 waittext yesnobox 20, 8 compare RESULT, 1 diff --git a/data/scripts/hipster.inc b/data/scripts/hipster.inc index 833bb1605..3e24e4868 100644 --- a/data/scripts/hipster.inc +++ b/data/scripts/hipster.inc @@ -3,7 +3,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE845:: @ 81AE845 faceplayer setflag 2054 msgbox MauvilleCity_PokemonCenter_1F_Text_1B0C5B, 4 - special 100 + special sub_80F7C70 compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE86A msgbox MauvilleCity_PokemonCenter_1F_Text_1B0CA7, 4 @@ -11,7 +11,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE845:: @ 81AE845 end MauvilleCity_PokemonCenter_1F_EventScript_1AE86A:: @ 81AE86A - special 102 + special sub_80F7C90 compare RESULT, 1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AE882 msgbox MauvilleCity_PokemonCenter_1F_Text_1B0D11, 4 @@ -20,6 +20,6 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AE86A:: @ 81AE86A MauvilleCity_PokemonCenter_1F_EventScript_1AE882:: @ 81AE882 msgbox MauvilleCity_PokemonCenter_1F_Text_1B0D75, 4 - special 101 + special sub_80F7C84 release end diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc index e6b6a8f3d..b0ae966ad 100644 --- a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc +++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc @@ -38,7 +38,7 @@ AbandonedShip_Corridors_B1F_EventScript_15E9D3:: @ 815E9D3 removeitem ITEM_STORAGE_KEY, 1 setflag 239 call AbandonedShip_Corridors_B1F_EventScript_15E9C0 - special 142 + special DrawWholeMapView releaseall end diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc index 4b634106a..8cb2aed22 100644 --- a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc +++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc @@ -70,7 +70,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EBF3:: @ 815EBF3 removeitem ITEM_ROOM_1_KEY, 1 setflag 240 call AbandonedShip_HiddenFloorCorridors_EventScript_15EBA3 - special 142 + special DrawWholeMapView releaseall end @@ -86,7 +86,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC2A:: @ 815EC2A removeitem ITEM_ROOM_2_KEY, 1 setflag 241 call AbandonedShip_HiddenFloorCorridors_EventScript_15EBAD - special 142 + special DrawWholeMapView releaseall end @@ -102,7 +102,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC61:: @ 815EC61 removeitem ITEM_ROOM_4_KEY, 1 setflag 242 call AbandonedShip_HiddenFloorCorridors_EventScript_15EBB7 - special 142 + special DrawWholeMapView releaseall end @@ -118,7 +118,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_15EC98:: @ 815EC98 removeitem ITEM_ROOM_6_KEY, 1 setflag 243 call AbandonedShip_HiddenFloorCorridors_EventScript_15EBC1 - special 142 + special DrawWholeMapView releaseall end diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc index 5e90673fe..5c4c050a0 100644 --- a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc +++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc @@ -43,7 +43,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15ED9B:: @ 815ED9B setanimation 1, 10 setanimation 2, 0 doanimation 54 - specialval RESULT, 290 + specialval RESULT, sub_810F4D4 compare RESULT, 0 callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE8B checkanimation 54 @@ -54,7 +54,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EDC4:: @ 815EDC4 end AbandonedShip_HiddenFloorRooms_EventScript_15EDC5:: @ 815EDC5 - specialval RESULT, 288 + specialval RESULT, sub_810F488 compare RESULT, 1 jumpeq AbandonedShip_HiddenFloorRooms_EventScript_15EDEA pause 20 @@ -77,7 +77,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EDEB:: @ 815EDEB setanimation 1, 3 setanimation 2, 0 doanimation 54 - specialval RESULT, 291 + specialval RESULT, sub_810F4FC compare RESULT, 0 callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE9B checkanimation 54 @@ -98,7 +98,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_15EE23:: @ 815EE23 setanimation 1, 6 setanimation 2, 0 doanimation 54 - specialval RESULT, 289 + specialval RESULT, sub_810F4B0 compare RESULT, 0 callif 1, AbandonedShip_HiddenFloorRooms_EventScript_15EE7B checkanimation 54 diff --git a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc index b2525d62e..a6ccdc43c 100644 --- a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc +++ b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc @@ -3,7 +3,7 @@ AbandonedShip_Rooms2_1F_MapScripts:: @ 815EA67 AbandonedShip_Rooms2_1F_EventScript_15EA68:: @ 815EA68 trainerbattle 4, OPPONENT_LOIS_AND_HAL_1, 0, AbandonedShip_Rooms2_1F_Text_1987C1, AbandonedShip_Rooms2_1F_Text_1987FE, AbandonedShip_Rooms2_1F_Text_19887F - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq AbandonedShip_Rooms2_1F_EventScript_15EA93 msgbox AbandonedShip_Rooms2_1F_Text_198835, 6 @@ -16,7 +16,7 @@ AbandonedShip_Rooms2_1F_EventScript_15EA93:: @ 815EA93 AbandonedShip_Rooms2_1F_EventScript_15EAAE:: @ 815EAAE trainerbattle 4, OPPONENT_LOIS_AND_HAL_1, 0, AbandonedShip_Rooms2_1F_Text_1988CC, AbandonedShip_Rooms2_1F_Text_198916, AbandonedShip_Rooms2_1F_Text_19899A - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq AbandonedShip_Rooms2_1F_EventScript_15EAD9 msgbox AbandonedShip_Rooms2_1F_Text_198934, 6 diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc index f8eba6a9d..7ba7540c4 100644 --- a/data/scripts/maps/AncientTomb.inc +++ b/data/scripts/maps/AncientTomb.inc @@ -64,7 +64,7 @@ AncientTomb_EventScript_15F050:: @ 815F050 setwildbattle SPECIES_REGISTEEL, 40, ITEM_NONE setflag 937 setflag 2145 - special 313 + special StartBattle_Regi waitstate clearflag 2145 release diff --git a/data/scripts/maps/BattleTower_BattleRoom.inc b/data/scripts/maps/BattleTower_BattleRoom.inc index d991b8853..176d8e8e8 100644 --- a/data/scripts/maps/BattleTower_BattleRoom.inc +++ b/data/scripts/maps/BattleTower_BattleRoom.inc @@ -12,35 +12,35 @@ BattleTower_BattleRoom_EventScript_1608EB:: @ 81608EB waitmove 0 BattleTower_BattleRoom_EventScript_1608FA:: @ 81608FA - special 232 + special sub_81347F8 reappear 1 move 1, BattleTower_BattleRoom_Movement_160AC0 waitmove 0 - special 234 + special sub_8135474 msgbox 0x20234cc, 4 waittext closebutton - special 0 + special HealPlayerParty setvar 0x8004, 0 setvar 0x8005, 0 - special 236 + special sub_813556C waitstate switch RESULT case 1, BattleTower_BattleRoom_EventScript_160961 - special 40 + special LoadPlayerParty setvar 0x8004, 0 setvar 0x8005, 5 - special 237 + special sub_8135668 setvar 0x8004, 14 - special 237 + special sub_8135668 setvar 0x8004, 3 - special 170 + special sub_810FF60 warp BattleTower_Lobby, 255, 6, 6 waitstate BattleTower_BattleRoom_EventScript_160961:: @ 8160961 setvar 0x8004, 6 - special 237 + special sub_8135668 switch RESULT case 8, BattleTower_BattleRoom_EventScript_160A56 move 1, BattleTower_BattleRoom_Movement_160AC6 @@ -51,12 +51,12 @@ BattleTower_BattleRoom_EventScript_160961:: @ 8160961 move 255, BattleTower_BattleRoom_Movement_160ABC waitmove 0 msgbox BattleTower_BattleRoom_Text_19ACDC, 4 - special 40 - special 39 - special 239 + special LoadPlayerParty + special SavePlayerParty + special sub_8135A14 fanfare 368 waitfanfare - special 0 + special HealPlayerParty BattleTower_BattleRoom_EventScript_1609B2:: @ 81609B2 msgbox BattleTower_BattleRoom_Text_19AD09, 5 @@ -88,25 +88,25 @@ BattleTower_BattleRoom_EventScript_160A3C:: @ 8160A3C jump BattleTower_BattleRoom_EventScript_1608FA BattleTower_BattleRoom_EventScript_160A56:: @ 8160A56 - special 40 + special LoadPlayerParty setvar 0x8004, 0 setvar 0x8005, 4 - special 237 + special sub_8135668 setvar 0x8004, 2 setvar 0x8005, 1 - special 237 + special sub_8135668 setvar 0x8004, 7 - special 237 + special sub_8135668 setvar 0x8004, 14 - special 237 + special sub_8135668 setvar 0x8004, 3 - special 170 + special sub_810FF60 warp BattleTower_Lobby, 255, 6, 6 waitstate BattleTower_BattleRoom_EventScript_160A94:: @ 8160A94 setvar 0x8004, 2 - special 240 + special sub_8135BA0 message BattleTower_BattleRoom_Text_1C6CE1 pause 60 waittext @@ -116,7 +116,7 @@ BattleTower_BattleRoom_EventScript_160A94:: @ 8160A94 BattleTower_BattleRoom_EventScript_160AB1:: @ 8160AB1 fadescreen 1 - special 241 + special sub_8135C38 end BattleTower_BattleRoom_Movement_160AB7:: @ 8160AB7 diff --git a/data/scripts/maps/BattleTower_Elevator.inc b/data/scripts/maps/BattleTower_Elevator.inc index 7a79cc4e9..408e7485e 100644 --- a/data/scripts/maps/BattleTower_Elevator.inc +++ b/data/scripts/maps/BattleTower_Elevator.inc @@ -12,7 +12,7 @@ BattleTower_Elevator_EventScript_1607E4:: @ 81607E4 move 1, BattleTower_Elevator_Movement_160835 move 255, BattleTower_Elevator_Movement_160839 waitmove 0 - special 273 + special sub_810EBEC waitstate pause 64 move 1, BattleTower_Elevator_Movement_16083D diff --git a/data/scripts/maps/BattleTower_Lobby.inc b/data/scripts/maps/BattleTower_Lobby.inc index cee3d7cec..8cd3639a5 100644 --- a/data/scripts/maps/BattleTower_Lobby.inc +++ b/data/scripts/maps/BattleTower_Lobby.inc @@ -6,30 +6,30 @@ BattleTower_Lobby_MapScripts:: @ 816027E .byte 0 BattleTower_Lobby_MapScript1_160293:: @ 8160293 - special 338 + special sub_813610C call BattleTower_Lobby_EventScript_16029C end BattleTower_Lobby_EventScript_16029C:: @ 816029C setvar 0x8004, 10 - special 237 + special sub_8135668 checkflag 238 jumpeq BattleTower_Lobby_EventScript_1602E4 checkflag 237 jumpeq BattleTower_Lobby_EventScript_1602CD - specialval 0x8007, 247 + specialval 0x8007, sub_810F404 compare 0x8007, 50 jumpif 0, BattleTower_Lobby_EventScript_1602E4 clearflag 941 - special 329 + special sub_810F8FC return BattleTower_Lobby_EventScript_1602CD:: @ 81602CD - specialval 0x8007, 247 + specialval 0x8007, sub_810F404 compare 0x8007, 100 jumpif 0, BattleTower_Lobby_EventScript_1602E4 clearflag 941 - special 329 + special sub_810F8FC return BattleTower_Lobby_EventScript_1602E4:: @ 81602E4 @@ -58,7 +58,7 @@ BattleTower_Lobby_MapScript2_160302:: @ 8160302 .2byte 0 BattleTower_Lobby_EventScript_16032C:: @ 816032C - special 231 + special sub_8134548 end BattleTower_Lobby_EventScript_160330:: @ 8160330 @@ -76,10 +76,10 @@ BattleTower_Lobby_EventScript_160342:: @ 8160342 message BattleTower_Lobby_Text_19A487 waittext setvar 0x8004, 0 - special 238 + special sub_81358A4 compare RESULT, 6 jumpeq BattleTower_Lobby_EventScript_16037D - special 244 + special sub_8135E50 compare RESULT, 0 jumpeq BattleTower_Lobby_EventScript_16037D message BattleTower_Lobby_Text_19A6BE @@ -90,26 +90,26 @@ BattleTower_Lobby_EventScript_160342:: @ 8160342 BattleTower_Lobby_EventScript_16037D:: @ 816037D setvar 0x8004, 8 - special 238 + special sub_81358A4 compare RESULT, 1 jumpeq BattleTower_Lobby_EventScript_1603AD message BattleTower_Lobby_Text_19A589 waittext setvar 0x8004, 13 - special 237 - special 242 + special sub_8135668 + special sub_8135D84 setvar 0x8004, 3 - special 240 + special sub_8135BA0 playsfx 55 checksound BattleTower_Lobby_EventScript_1603AD:: @ 81603AD setvar 0x8004, 0 setvar 0x8005, 3 - special 237 + special sub_8135668 message BattleTower_Lobby_Text_19A4BB waittext - special 243 + special sub_8135DEC switch RESULT case 0, BattleTower_Lobby_EventScript_160408 message BattleTower_Lobby_Text_19A506 @@ -117,7 +117,7 @@ BattleTower_Lobby_EventScript_1603AD:: @ 81603AD fanfare 370 waitfanfare setvar 0x8004, 9 - special 238 + special sub_81358A4 compare RESULT, 49 jumpif 5, BattleTower_Lobby_EventScript_1603F8 msgbox BattleTower_Lobby_Text_19A617, 4 @@ -145,9 +145,9 @@ BattleTower_Lobby_EventScript_160419:: @ 8160419 message BattleTower_Lobby_Text_19A589 waittext setvar 0x8004, 13 - special 237 + special sub_8135668 setvar 0x8004, 0 - special 240 + special sub_8135BA0 playsfx 55 checksound msgbox BattleTower_Lobby_Text_199FA9, 4 @@ -165,15 +165,15 @@ BattleTower_Lobby_EventScript_16044B:: @ 816044B message BattleTower_Lobby_Text_19A5CE waittext setvar 0x8004, 1 - special 240 + special sub_8135BA0 playsfx 55 checksound setvar 0x8004, 8 setvar 0x8005, 0 - special 237 + special sub_8135668 setvar 0x4000, 5 - special 39 - special 239 + special SavePlayerParty + special sub_8135A14 msgbox BattleTower_Lobby_Text_19A0A8, 4 closebutton call BattleTower_Lobby_EventScript_160664 @@ -185,10 +185,10 @@ BattleTower_Lobby_EventScript_16049E:: @ 816049E lock faceplayer setvar 0x8004, 0 - special 238 + special sub_81358A4 compare RESULT, 6 jumpeq BattleTower_Lobby_EventScript_160342 - special 39 + special SavePlayerParty msgbox BattleTower_Lobby_Text_199F2C, 4 BattleTower_Lobby_EventScript_1604BE:: @ 81604BE @@ -208,16 +208,16 @@ BattleTower_Lobby_EventScript_1604FA:: @ 81604FA switch RESULT case 2, BattleTower_Lobby_EventScript_160652 case 127, BattleTower_Lobby_EventScript_160652 - special 233 + special CheckPartyBattleTowerBanlist compare 0x8004, 1 jumpeq BattleTower_Lobby_EventScript_16060D setvar 0x8004, 1 copyvar 0x8005, RESULT copyvar 0x8006, RESULT - special 237 + special sub_8135668 msgbox BattleTower_Lobby_Text_19A07B, 4 fadescreen 1 - special 245 + special ChooseBattleTowerPlayerParty waitstate compare RESULT, 0 jumpeq BattleTower_Lobby_EventScript_16064F @@ -229,17 +229,17 @@ BattleTower_Lobby_EventScript_1604FA:: @ 81604FA BattleTower_Lobby_EventScript_160587:: @ 8160587 setvar 0x8004, 5 - special 237 + special sub_8135668 setvar 0x4000, 0 setvar 0x8004, 11 - special 237 + special sub_8135668 setvar 0x8004, 0 setvar 0x8005, 1 - special 237 + special sub_8135668 setvar 0x8004, 8 setvar 0x8005, 0 - special 237 - special 40 + special sub_8135668 + special LoadPlayerParty closebutton pause 2 call BattleTower_Lobby_EventScript_19F806 @@ -248,8 +248,8 @@ BattleTower_Lobby_EventScript_160587:: @ 8160587 compare RESULT, 0 jumpeq BattleTower_Lobby_EventScript_160642 inccounter GAME_STAT_ENTERED_BATTLE_TOWER - special 39 - special 239 + special SavePlayerParty + special sub_8135A14 setvar 0x40bc, 1 msgbox BattleTower_Lobby_Text_19A0A8, 4 closebutton @@ -277,16 +277,16 @@ BattleTower_Lobby_EventScript_160635:: @ 8160635 BattleTower_Lobby_EventScript_160642:: @ 8160642 setvar 0x8004, 12 - special 237 + special sub_8135668 jump BattleTower_Lobby_EventScript_160652 BattleTower_Lobby_EventScript_16064F:: @ 816064F - special 40 + special LoadPlayerParty BattleTower_Lobby_EventScript_160652:: @ 8160652 msgbox BattleTower_Lobby_Text_199FA9, 4 setvar 0x8004, 11 - special 237 + special sub_8135668 BattleTower_Lobby_EventScript_160662:: @ 8160662 release @@ -378,7 +378,7 @@ BattleTower_Lobby_EventScript_16071E:: @ 816071E BattleTower_Lobby_EventScript_160727:: @ 8160727 lockall - special 283 + special ShowBattleTowerRecords waitbutton hidebox 0, 0, 29, 19 releaseall @@ -402,7 +402,7 @@ BattleTower_Lobby_EventScript_160733:: @ 8160733 end BattleTower_Lobby_EventScript_160773:: @ 8160773 - specialval RESULT, 247 + specialval RESULT, sub_810F404 compare RESULT, 100 jumpif 0, BattleTower_Lobby_EventScript_1607C5 msgbox BattleTower_Lobby_Text_19AAC4, 4 diff --git a/data/scripts/maps/CaveOfOrigin_B4F.inc b/data/scripts/maps/CaveOfOrigin_B4F.inc index e9f23ff5a..023892d36 100644 --- a/data/scripts/maps/CaveOfOrigin_B4F.inc +++ b/data/scripts/maps/CaveOfOrigin_B4F.inc @@ -35,7 +35,7 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 closebutton setweather 0 doweather - special 284 + special WaitWeather waitstate playsfx 209 setanimation 0, 9 @@ -49,9 +49,9 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 setvar RESULT, 2 .endif playsfx 107 - special 281 + special sub_80818A4 waitstate - special 282 + special sub_80818FC waitstate move 1, CaveOfOrigin_B4F_Movement_15DE7D waitmove 0 @@ -62,10 +62,10 @@ CaveOfOrigin_B4F_EventScript_15DDD7:: @ 815DDD7 pause 40 waitpokecry setflag 2145 - special 311 + special StartBattle_GroudonKyogre waitstate clearflag 2145 - specialval RESULT, 180 + specialval RESULT, sub_810E300 compare RESULT, 1 callif 1, CaveOfOrigin_B4F_EventScript_15DE73 setflag 816 diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc index d5787d792..df40fc126 100644 --- a/data/scripts/maps/DesertRuins.inc +++ b/data/scripts/maps/DesertRuins.inc @@ -64,7 +64,7 @@ DesertRuins_EventScript_15CB85:: @ 815CB85 setwildbattle SPECIES_REGIROCK, 40, ITEM_NONE setflag 935 setflag 2145 - special 313 + special StartBattle_Regi waitstate clearflag 2145 release diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc index 0b25e0aba..28d396a3e 100644 --- a/data/scripts/maps/DewfordTown_Hall.inc +++ b/data/scripts/maps/DewfordTown_Hall.inc @@ -5,7 +5,7 @@ DewfordTown_Hall_EventScript_153293:: @ 8153293 lock faceplayer call DewfordTown_Hall_EventScript_1A0102 - special 127 + special sub_80FA5E4 compare RESULT, 1 jumpeq DewfordTown_Hall_EventScript_1532B2 msgbox DewfordTown_Hall_Text_1754C9, 4 @@ -29,7 +29,7 @@ DewfordTown_Hall_EventScript_1532CD:: @ 81532CD lock faceplayer call DewfordTown_Hall_EventScript_1A0102 - special 128 + special sub_80EB83C msgbox DewfordTown_Hall_Text_1755F9, 5 compare RESULT, 1 jumpeq DewfordTown_Hall_EventScript_1532F6 @@ -87,7 +87,7 @@ DewfordTown_Hall_EventScript_153353:: @ 8153353 DewfordTown_Hall_EventScript_153363:: @ 8153363 lockall call DewfordTown_Hall_EventScript_1A0102 - special 129 + special sub_80FA648 switch RESULT case 0, DewfordTown_Hall_EventScript_1533CA case 4, DewfordTown_Hall_EventScript_1533CA @@ -133,7 +133,7 @@ DewfordTown_Hall_EventScript_1533FE:: @ 81533FE DewfordTown_Hall_EventScript_15340A:: @ 815340A call DewfordTown_Hall_EventScript_1A0102 - special 129 + special sub_80FA648 switch RESULT case 0, DewfordTown_Hall_EventScript_153470 case 1, DewfordTown_Hall_EventScript_153470 diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc index 0e5dc21b0..bddcfa74b 100644 --- a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc +++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc @@ -48,7 +48,7 @@ EverGrandeCity_ChampionsRoom_EventScript_15B821:: @ 815B821 playsfx 8 setmaptile 6, 1, 838, 0 setmaptile 6, 2, 839, 0 - special 142 + special DrawWholeMapView msgbox EverGrandeCity_ChampionsRoom_Text_1910FE, 4 closebutton playsfx 8 diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc index c16bd544f..d10957a8e 100644 --- a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc +++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc @@ -56,7 +56,7 @@ EverGrandeCity_DrakesRoom_EventScript_15B78B:: @ 815B78B EverGrandeCity_DrakesRoom_EventScript_15B795:: @ 815B795 setvar 0x8004, 0 - special 170 + special sub_810FF60 setflag 1248 call EverGrandeCity_DrakesRoom_EventScript_1A0693 msgbox EverGrandeCity_DrakesRoom_Text_190E5D, 4 diff --git a/data/scripts/maps/EverGrandeCity_HallOfFame.inc b/data/scripts/maps/EverGrandeCity_HallOfFame.inc index 2e7099110..175990328 100644 --- a/data/scripts/maps/EverGrandeCity_HallOfFame.inc +++ b/data/scripts/maps/EverGrandeCity_HallOfFame.inc @@ -53,7 +53,7 @@ EverGrandeCity_HallOfFame_EventScript_15BBA8:: @ 815BBA8 EverGrandeCity_HallOfFame_EventScript_15BC41:: @ 815BC41 sethealplace 1 fadescreendelay 1, 24 - special 272 + special GameClear waitstate releaseall end @@ -61,7 +61,7 @@ EverGrandeCity_HallOfFame_EventScript_15BC41:: @ 815BC41 EverGrandeCity_HallOfFame_EventScript_15BC4D:: @ 815BC4D sethealplace 2 fadescreendelay 1, 24 - special 272 + special GameClear waitstate releaseall end diff --git a/data/scripts/maps/FallarborTown_ContestLobby.inc b/data/scripts/maps/FallarborTown_ContestLobby.inc index 706d9aa5f..ed67d922d 100644 --- a/data/scripts/maps/FallarborTown_ContestLobby.inc +++ b/data/scripts/maps/FallarborTown_ContestLobby.inc @@ -11,7 +11,7 @@ FallarborTown_ContestLobby_EventScript_1539CD:: @ 81539CD setvar CONTEST_RANK, 1 call FallarborTown_ContestLobby_EventScript_1A4E92 call FallarborTown_ContestLobby_EventScript_1539F8 - special 83 + special sub_80C4BF0 call FallarborTown_ContestLobby_EventScript_15FBDB setvar 0x4088, 2 warp LinkContestRoom1, 255, 7, 5 @@ -25,13 +25,13 @@ FallarborTown_ContestLobby_EventScript_1539F8:: @ 81539F8 playsfx 71 setmaptile 4, 2, 545, 1 setmaptile 4, 3, 609, 1 - special 142 + special DrawWholeMapView move 1, FallarborTown_ContestLobby_Movement_153A7F waitmove 0 playsfx 71 setmaptile 4, 2, 721, 1 setmaptile 4, 3, 729, 1 - special 142 + special DrawWholeMapView pause 20 move 1, FallarborTown_ContestLobby_Movement_153A8C waitmove 0 @@ -114,7 +114,7 @@ FallarborTown_ContestLobby_EventScript_153ABB:: @ 8153ABB FallarborTown_ContestLobby_EventScript_153AC2:: @ 8153AC2 lockall - special 259 + special ShowBerryBlenderRecordWindow waitbutton hidebox 0, 0, 29, 19 releaseall diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc index 179f281af..1351b96d3 100644 --- a/data/scripts/maps/FallarborTown_House2.inc +++ b/data/scripts/maps/FallarborTown_House2.inc @@ -24,11 +24,11 @@ FallarborTown_House2_EventScript_153CB6:: @ 8153CB6 FallarborTown_House2_EventScript_153CE4:: @ 8153CE4 msgbox FallarborTown_House2_Text_177C3F, 4 - special 219 + special sub_80F9A4C waitstate compare 0x8004, 255 jumpeq FallarborTown_House2_EventScript_153D60 - special 328 + special sub_80FA148 compare RESULT, 1 jumpeq FallarborTown_House2_EventScript_153D52 compare 0x8005, 0 @@ -38,7 +38,7 @@ FallarborTown_House2_EventScript_153CE4:: @ 8153CE4 FallarborTown_House2_EventScript_153D1A:: @ 8153D1A msgbox FallarborTown_House2_Text_177C5D, 4 - special 224 + special sub_8132670 waitstate compare 0x8004, 0 jumpeq FallarborTown_House2_EventScript_153CE4 diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc index 1bf6b0825..44f5890a2 100644 --- a/data/scripts/maps/FortreeCity_Gym.inc +++ b/data/scripts/maps/FortreeCity_Gym.inc @@ -4,7 +4,7 @@ FortreeCity_Gym_MapScripts:: @ 8157ED3 .byte 0 FortreeCity_Gym_MapScript1_157EDE:: @ 8157EDE - special 201 + special RotatingGate_InitPuzzle end FortreeCity_Gym_MapScript2_157EE2:: @ 8157EE2 @@ -12,7 +12,7 @@ FortreeCity_Gym_MapScript2_157EE2:: @ 8157EE2 .2byte 0 FortreeCity_Gym_EventScript_157EEC:: @ 8157EEC - special 202 + special RotatingGate_InitPuzzleAndGraphics end FortreeCity_Gym_EventScript_157EF0:: @ 8157EF0 diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc index 0ae6e3fbd..f5bda05ab 100644 --- a/data/scripts/maps/FortreeCity_House1.inc +++ b/data/scripts/maps/FortreeCity_House1.inc @@ -8,25 +8,25 @@ FortreeCity_House1_EventScript_157E13:: @ 8157E13 jumpeq FortreeCity_House1_EventScript_157EAD setvar 0x8008, 1 copyvar 0x8004, 0x8008 - specialval RESULT, 252 + specialval RESULT, sub_804D89C copyvar 0x8009, RESULT msgbox FortreeCity_House1_Text_18568C, 5 compare RESULT, 0 jumpeq FortreeCity_House1_EventScript_157E95 - special 159 + special sub_80F9A0C waitstate copyvar 0x800a, 0x8004 compare 0x8004, 255 jumpeq FortreeCity_House1_EventScript_157E95 copyvar 0x8005, 0x800a - specialval RESULT, 255 + specialval RESULT, sub_804DB2C copyvar 0x800b, RESULT comparevars RESULT, 0x8009 jumpif 5, FortreeCity_House1_EventScript_157E9F copyvar 0x8004, 0x8008 copyvar 0x8005, 0x800a - special 253 - special 254 + special sub_804DB68 + special sub_804E174 waitstate bufferpoke 0, 0x8009 msgbox FortreeCity_House1_Text_1856F7, 4 diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc index c5d932a91..b16f386d8 100644 --- a/data/scripts/maps/IslandCave.inc +++ b/data/scripts/maps/IslandCave.inc @@ -38,7 +38,7 @@ gIslandCave_EventScript_OpenRegiiceChamber:: @ 815EF19 setmaptile 7, 20, 562, 1 setmaptile 8, 20, 563, 0 setmaptile 9, 20, 564, 1 - special 142 + special DrawWholeMapView playsfx SE_BAN setflag 2129 end @@ -48,7 +48,7 @@ IslandCave_EventScript_15EF59:: @ 815EF59 checkflag 2129 jumpeq IslandCave_EventScript_15EF72 braillemsg IslandCave_Braille_1C54FC - special 280 + special DoBrailleWait waitstate jump IslandCave_EventScript_15EF95 end @@ -63,7 +63,7 @@ IslandCave_EventScript_15EF7C:: @ 815EF7C braillemsg IslandCave_Braille_1C54FC checkflag 2129 jumpeq IslandCave_EventScript_15EF95 - special 280 + special DoBrailleWait waitstate jump IslandCave_EventScript_15EF95 end @@ -84,7 +84,7 @@ IslandCave_EventScript_15EF9D:: @ 815EF9D setwildbattle SPECIES_REGICE, 40, ITEM_NONE setflag 936 setflag 2145 - special 313 + special StartBattle_Regi waitstate clearflag 2145 release diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc index 3ae0882c5..151f1ec79 100644 --- a/data/scripts/maps/JaggedPass.inc +++ b/data/scripts/maps/JaggedPass.inc @@ -24,7 +24,7 @@ JaggedPass_EventScript_15D285:: @ 815D285 JaggedPass_EventScript_15D29C:: @ 815D29C trainerbattle 0, OPPONENT_DIANA_1, 0, JaggedPass_Text_195E9E, JaggedPass_Text_195EDF - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq JaggedPass_EventScript_15D2C3 msgbox JaggedPass_Text_195F04, 6 @@ -37,7 +37,7 @@ JaggedPass_EventScript_15D2C3:: @ 815D2C3 JaggedPass_EventScript_15D2DA:: @ 815D2DA trainerbattle 0, OPPONENT_ETHAN_1, 0, JaggedPass_Text_195FF2, JaggedPass_Text_196032 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq JaggedPass_EventScript_15D301 msgbox JaggedPass_Text_196077, 6 diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc index a71bd4854..685e44d58 100644 --- a/data/scripts/maps/LavaridgeTown.inc +++ b/data/scripts/maps/LavaridgeTown.inc @@ -236,7 +236,7 @@ LavaridgeTown_Movement_14E70E:: @ 814E70E step_end LavaridgeTown_EventScript_14E710:: @ 814E710 - specialval RESULT, 287 + specialval RESULT, player_get_direction_lower_nybble compare RESULT, 1 jumpeq LavaridgeTown_EventScript_14E721 end diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc index ae36e33b5..b688107ce 100644 --- a/data/scripts/maps/LilycoveCity.inc +++ b/data/scripts/maps/LilycoveCity.inc @@ -172,7 +172,7 @@ LilycoveCity_EventScript_14CC79:: @ 814CC79 LilycoveCity_EventScript_14CC82:: @ 814CC82 lockall - specialval 0x8004, 137 + specialval 0x8004, sub_80C4D50 switch 0x8004 case 0, LilycoveCity_EventScript_14CCA2 msgbox LilycoveCity_Text_168EA4, 4 diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc index 419e04a8f..3c8cc5bdf 100644 --- a/data/scripts/maps/LilycoveCity_ContestLobby.inc +++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc @@ -41,9 +41,9 @@ LilycoveCity_ContestLobby_EventScript_158898:: @ 8158898 LilycoveCity_ContestLobby_EventScript_1588DE:: @ 81588DE msgbox LilycoveCity_ContestLobby_Text_188AE8, 4 closebutton - special 135 + special sub_80C4CEC setvar 0x4099, 0 - specialval RESULT, 91 + specialval RESULT, GiveMonArtistRibbon compare RESULT, 1 callif 1, LilycoveCity_ContestLobby_EventScript_158948 move 4, LilycoveCity_ContestLobby_Movement_158A43 @@ -69,7 +69,7 @@ LilycoveCity_ContestLobby_EventScript_158918:: @ 8158918 LilycoveCity_ContestLobby_EventScript_158948:: @ 8158948 inccounter GAME_STAT_RECEIVED_RIBBONS - special 80 + special sub_80C4858 move 4, LilycoveCity_ContestLobby_Movement_158A4E waitmove 0 playsfx 21 @@ -87,7 +87,7 @@ LilycoveCity_ContestLobby_EventScript_158948:: @ 8158948 return LilycoveCity_ContestLobby_EventScript_158994:: @ 8158994 - specialval 0x8004, 137 + specialval 0x8004, sub_80C4D50 switch 0x8004 case 1, LilycoveCity_ContestLobby_EventScript_1589D6 case 2, LilycoveCity_ContestLobby_EventScript_1589DA @@ -214,9 +214,9 @@ LilycoveCity_ContestLobby_EventScript_158A6A:: @ 8158A6A LilycoveCity_ContestLobby_EventScript_158AAE:: @ 8158AAE msgbox LilycoveCity_ContestLobby_Text_188AE8, 4 closebutton - special 135 + special sub_80C4CEC setvar 0x4099, 0 - specialval RESULT, 91 + specialval RESULT, GiveMonArtistRibbon compare RESULT, 1 callif 1, LilycoveCity_ContestLobby_EventScript_158B18 move 11, LilycoveCity_ContestLobby_Movement_158B6D @@ -242,7 +242,7 @@ LilycoveCity_ContestLobby_EventScript_158AE8:: @ 8158AE8 LilycoveCity_ContestLobby_EventScript_158B18:: @ 8158B18 inccounter GAME_STAT_RECEIVED_RIBBONS - special 80 + special sub_80C4858 move 11, LilycoveCity_ContestLobby_Movement_158B78 waitmove 0 playsfx 21 @@ -363,7 +363,7 @@ LilycoveCity_ContestLobby_EventScript_158C42:: @ 8158C42 choosecontestpkmn compare 0x8004, 255 jumpeq LilycoveCity_ContestLobby_EventScript_158CEA - special 84 + special sub_80C43F4 compare RESULT, 0 jumpeq LilycoveCity_ContestLobby_EventScript_158C96 compare RESULT, 1 @@ -418,7 +418,7 @@ LilycoveCity_ContestLobby_EventScript_158D24:: @ 8158D24 message LilycoveCity_ContestLobby_Text_1887C7 waittext copyvar 0x8004, RESULT - special 92 + special sub_808363C waitstate compare RESULT, 3 jumpeq LilycoveCity_ContestLobby_EventScript_158D90 @@ -441,7 +441,7 @@ LilycoveCity_ContestLobby_EventScript_158D82:: @ 8158D82 end LilycoveCity_ContestLobby_EventScript_158D90:: @ 8158D90 - special 31 + special CloseLink msgbox LilycoveCity_ContestLobby_Text_18878D, 4 closebutton releaseall @@ -449,7 +449,7 @@ LilycoveCity_ContestLobby_EventScript_158D90:: @ 8158D90 end LilycoveCity_ContestLobby_EventScript_158DA1:: @ 8158DA1 - special 31 + special CloseLink msgbox LilycoveCity_ContestLobby_Text_1887F4, 4 closebutton releaseall @@ -457,7 +457,7 @@ LilycoveCity_ContestLobby_EventScript_158DA1:: @ 8158DA1 end LilycoveCity_ContestLobby_EventScript_158DB2:: @ 8158DB2 - special 31 + special CloseLink msgbox LilycoveCity_ContestLobby_Text_18881F, 4 closebutton releaseall @@ -470,7 +470,7 @@ LilycoveCity_ContestLobby_EventScript_158DC3:: @ 8158DC3 end LilycoveCity_ContestLobby_EventScript_158DD1:: @ 8158DD1 - special 77 + special sub_80C496C addvar 0x8004, 1 buffernum 1, 32772 message2 LilycoveCity_ContestLobby_Text_188845 @@ -482,7 +482,7 @@ LilycoveCity_ContestLobby_EventScript_158DD1:: @ 8158DD1 LilycoveCity_ContestLobby_EventScript_158DEE:: @ 8158DEE call LilycoveCity_ContestLobby_EventScript_158E0B setvar 0x4086, 1 - special 86 + special sub_80C4F70 setvar 0x4088, 5 setvar CONTEST_RANK, 3 call LilycoveCity_ContestLobby_EventScript_158F08 @@ -499,13 +499,13 @@ LilycoveCity_ContestLobby_EventScript_158E0B:: @ 8158E0B playsfx 71 setmaptile 9, 2, 545, 1 setmaptile 9, 3, 609, 1 - special 142 + special DrawWholeMapView move 2, LilycoveCity_ContestLobby_Movement_158EA0 waitmove 0 playsfx 71 setmaptile 9, 2, 721, 1 setmaptile 9, 3, 729, 1 - special 142 + special DrawWholeMapView pause 20 move 2, LilycoveCity_ContestLobby_Movement_158EAE waitmove 0 @@ -568,14 +568,14 @@ LilycoveCity_ContestLobby_Movement_158EAE:: @ 8158EAE step_end LilycoveCity_ContestLobby_EventScript_158EB0:: @ 8158EB0 - specialval RESULT, 90 + specialval RESULT, sub_80C5044 compare RESULT, 1 jumpeq LilycoveCity_ContestLobby_EventScript_158EE8 setvar 0x800b, 8 setvar CONTEST_RANK, 3 call LilycoveCity_ContestLobby_EventScript_1A4E92 call LilycoveCity_ContestLobby_EventScript_158F86 - special 83 + special sub_80C4BF0 call LilycoveCity_ContestLobby_EventScript_15FBDB setvar 0x4088, 4 call LilycoveCity_ContestLobby_EventScript_158F08 @@ -603,31 +603,31 @@ LilycoveCity_ContestLobby_EventScript_158F08:: @ 8158F08 LilycoveCity_ContestLobby_EventScript_158F45:: @ 8158F45 warp3 LinkContestRoom4, 255, 7, 5 - special 300 + special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F52:: @ 8158F52 warp3 LinkContestRoom2, 255, 7, 5 - special 300 + special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F5F:: @ 8158F5F warp3 LinkContestRoom6, 255, 7, 5 - special 300 + special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F6C:: @ 8158F6C warp3 LinkContestRoom5, 255, 7, 5 - special 300 + special sub_8081334 waitstate return LilycoveCity_ContestLobby_EventScript_158F79:: @ 8158F79 warp3 LinkContestRoom3, 255, 7, 5 - special 300 + special sub_8081334 waitstate return @@ -638,13 +638,13 @@ LilycoveCity_ContestLobby_EventScript_158F86:: @ 8158F86 playsfx 71 setmaptile 4, 2, 545, 1 setmaptile 4, 3, 609, 1 - special 142 + special DrawWholeMapView move 1, LilycoveCity_ContestLobby_Movement_15900F waitmove 0 playsfx 71 setmaptile 4, 2, 721, 1 setmaptile 4, 3, 729, 1 - special 142 + special DrawWholeMapView pause 20 move 1, LilycoveCity_ContestLobby_Movement_15901C waitmove 0 @@ -764,7 +764,7 @@ LilycoveCity_ContestLobby_EventScript_159084:: @ 8159084 LilycoveCity_ContestLobby_EventScript_15908D:: @ 815908D SlateportCity_ContestLobby_EventScript_15908D:: @ 815908D lockall - special 259 + special ShowBerryBlenderRecordWindow waitbutton hidebox 0, 0, 29, 19 releaseall diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc index d2a86e0a5..dcf74b77c 100644 --- a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc +++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc @@ -8,7 +8,7 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583A1:: @ 81583A1 callif 0, LilycoveCity_CoveLilyMotel_2F_EventScript_1583C7 checkflag 2 callif 1, LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD - specialval RESULT, 335 + specialval RESULT, sub_8090FC0 compare RESULT, 1 jumpeq LilycoveCity_CoveLilyMotel_2F_EventScript_1583D0 release @@ -29,7 +29,7 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_1583DD:: @ 81583DD message LilycoveCity_CoveLilyMotel_2F_Text_18708F waittext call LilycoveCity_CoveLilyMotel_2F_EventScript_1A02C5 - special 264 + special sub_810D6A4 waitstate release end diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc index c82cc6428..74b746633 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc @@ -7,7 +7,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_15A39C:: @ 815A39C checkflag 2 callif 0, LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF copyvar 0x8005, 0x4043 - special 306 + special sub_810E944 message LilycoveCity_DepartmentStoreElevator_Text_1A0EF6 waittext multichoice 0, 0, 57, 0 @@ -74,11 +74,11 @@ LilycoveCity_DepartmentStoreElevator_EventScript_15A4B8:: @ 815A4B8 hidebox 0, 0, 29, 19 move LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_1A0845 waitmove 0 - special 273 + special sub_810EBEC waitstate setflag 2 return LilycoveCity_DepartmentStoreElevator_EventScript_15A4CF:: @ 815A4CF - special 216 + special SetDepartmentStoreFloorVar return diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc index 325c56330..feff49c42 100644 --- a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc +++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc @@ -19,17 +19,17 @@ LilycoveCity_DepartmentStore_1F_EventScript_159D5E:: @ 8159D5E setflag 2250 message LilycoveCity_DepartmentStore_1F_Text_1C4CC6 waittext - special 257 + special RetrieveLotteryNumber copyvar 0x8008, RESULT - special 337 + special sub_810F9AC msgbox LilycoveCity_DepartmentStore_1F_Text_1C4CF6, 4 move 2, LilycoveCity_DepartmentStore_1F_Movement_1A0843 waitmove 0 playsfx 4 - special 217 - special 258 + special DoLotteryCornerComputerEffect + special PickLotteryCornerTicket pause 220 - special 218 + special EndLotteryCornerComputerEffect pause 10 move 2, LilycoveCity_DepartmentStore_1F_Movement_1A0839 waitmove 0 diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc index 2f4e4352e..f8ff8f9f3 100644 --- a/data/scripts/maps/LilycoveCity_Harbor.inc +++ b/data/scripts/maps/LilycoveCity_Harbor.inc @@ -135,7 +135,7 @@ LilycoveCity_Harbor_EventScript_1599EE:: @ 81599EE callif 1, LilycoveCity_Harbor_EventScript_1599CE pause 30 spriteinvisible 255, 0, 0 - special 0 + special HealPlayerParty setvar 0x8004, 2 call LilycoveCity_Harbor_EventScript_1A040E warp SouthernIsland_Exterior, 255, 13, 22 diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc index 2e6d6698f..b3564ebf5 100644 --- a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc +++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc @@ -98,7 +98,7 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_1586D8:: @ 81586D8 lockall checkflag 236 jumpeq LilycoveCity_LilycoveMuseum_2F_EventScript_158793 - specialval 0x8004, 137 + specialval 0x8004, sub_80C4D50 switch 0x8004 case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_15872C diff --git a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc index c9b026060..6adea2eb2 100644 --- a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc +++ b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc @@ -14,23 +14,23 @@ LilycoveCity_MoveDeletersHouse_EventScript_159AAE:: @ 8159AAE LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE msgbox LilycoveCity_MoveDeletersHouse_Text_18B68C, 4 - special 159 + special sub_80F9A0C waitstate compare 0x8004, 255 jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B7B - special 328 + special sub_80FA148 compare RESULT, 1 jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B71 - special 223 + special sub_80F9F3C compare RESULT, 1 jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159B64 msgbox LilycoveCity_MoveDeletersHouse_Text_18B6B0, 4 fadescreen 1 - special 220 + special sub_80F9EEC fadescreen 0 compare 0x8005, 4 jumpeq LilycoveCity_MoveDeletersHouse_EventScript_159ADE - special 222 + special sub_80F9F84 msgbox LilycoveCity_MoveDeletersHouse_Text_18B6F2, 5 switch RESULT case 1, LilycoveCity_MoveDeletersHouse_EventScript_159B53 @@ -39,7 +39,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_159ADE:: @ 8159ADE end LilycoveCity_MoveDeletersHouse_EventScript_159B53:: @ 8159B53 - special 221 + special sub_80FA0DC fanfare 378 waitfanfare msgbox LilycoveCity_MoveDeletersHouse_Text_18B71E, 4 @@ -47,7 +47,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_159B53:: @ 8159B53 end LilycoveCity_MoveDeletersHouse_EventScript_159B64:: @ 8159B64 - special 222 + special sub_80F9F84 msgbox LilycoveCity_MoveDeletersHouse_Text_18B6D0, 4 releaseall end diff --git a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc index 9ac66f98e..e503ef4ec 100644 --- a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc +++ b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc @@ -68,37 +68,37 @@ LilycoveCity_PokemonTrainerFanClub_MapScript1_159412:: @ 8159412 end LilycoveCity_PokemonTrainerFanClub_EventScript_159429:: @ 8159429 - special 167 + special sub_810FCE8 setvar 0x8004, 8 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 0 callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594D5 setvar 0x8004, 9 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 0 callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594DD setvar 0x8004, 10 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 0 callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594E5 setvar 0x8004, 11 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 0 callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594ED setvar 0x8004, 12 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 0 callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594F5 setvar 0x8004, 13 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 0 callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_1594FD setvar 0x8004, 14 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 0 callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_159505 setvar 0x8004, 15 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 0 callif 1, LilycoveCity_PokemonTrainerFanClub_EventScript_15950D end @@ -147,13 +147,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15952F:: @ 815952F lock faceplayer setvar 0x8004, 13 - special 165 + special sub_810FDAC compare 0x4095, 0 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15959C - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15956E - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 7 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159592 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A400, 4 @@ -161,7 +161,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15952F:: @ 815952F end LilycoveCity_PokemonTrainerFanClub_EventScript_15956E:: @ 815956E - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159588 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A36A, 4 @@ -187,13 +187,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1595A6:: @ 81595A6 lock faceplayer setvar 0x8004, 8 - special 165 + special sub_810FDAC compare 0x4095, 0 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159613 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 7 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159609 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A629, 4 @@ -201,7 +201,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1595A6:: @ 81595A6 end LilycoveCity_PokemonTrainerFanClub_EventScript_1595E5:: @ 81595E5 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1595FF msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A584, 4 @@ -227,13 +227,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15961D:: @ 815961D lock faceplayer setvar 0x8004, 9 - special 165 + special sub_810FDAC compare 0x4095, 0 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15968A - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15965C - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 7 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159680 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A814, 4 @@ -241,7 +241,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15961D:: @ 815961D end LilycoveCity_PokemonTrainerFanClub_EventScript_15965C:: @ 815965C - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159676 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18A71E, 4 @@ -267,13 +267,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159694:: @ 8159694 lock faceplayer setvar 0x8004, 10 - special 165 + special sub_810FDAC compare 0x4095, 0 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159701 - specialval RESULT, 163 + specialval RESULT, sub_810FD60 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 7 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596F7 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AB0A, 4 @@ -281,7 +281,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159694:: @ 8159694 end LilycoveCity_PokemonTrainerFanClub_EventScript_1596D3:: @ 81596D3 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1596ED msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AA39, 4 @@ -307,11 +307,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15970B:: @ 815970B lock faceplayer setvar 0x8004, 11 - special 165 - specialval RESULT, 163 + special sub_810FDAC + specialval RESULT, sub_810FD60 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15973F - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 7 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159763 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18ACC7, 4 @@ -319,7 +319,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15970B:: @ 815970B end LilycoveCity_PokemonTrainerFanClub_EventScript_15973F:: @ 815973F - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159759 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AC15, 4 @@ -340,11 +340,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15976D:: @ 815976D lock faceplayer setvar 0x8004, 12 - special 165 - specialval RESULT, 163 + special sub_810FDAC + specialval RESULT, sub_810FD60 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 7 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597C5 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AE63, 4 @@ -352,7 +352,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_15976D:: @ 815976D end LilycoveCity_PokemonTrainerFanClub_EventScript_1597A1:: @ 81597A1 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_1597BB msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AD6D, 4 @@ -373,11 +373,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1597CF:: @ 81597CF lock faceplayer setvar 0x8004, 14 - special 165 - specialval RESULT, 163 + special sub_810FDAC + specialval RESULT, sub_810FD60 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159803 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 7 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159827 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B030, 4 @@ -385,7 +385,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_1597CF:: @ 81597CF end LilycoveCity_PokemonTrainerFanClub_EventScript_159803:: @ 8159803 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15981D msgbox LilycoveCity_PokemonTrainerFanClub_Text_18AF62, 4 @@ -406,11 +406,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159831:: @ 8159831 lock faceplayer setvar 0x8004, 15 - special 165 - specialval RESULT, 163 + special sub_810FDAC + specialval RESULT, sub_810FD60 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159865 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 7 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_159889 msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B1FD, 4 @@ -418,7 +418,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_159831:: @ 8159831 end LilycoveCity_PokemonTrainerFanClub_EventScript_159865:: @ 8159865 - specialval RESULT, 164 + specialval RESULT, sub_810FCB0 compare RESULT, 1 jumpeq LilycoveCity_PokemonTrainerFanClub_EventScript_15987F msgbox LilycoveCity_PokemonTrainerFanClub_Text_18B16E, 4 diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc index 81692acc5..2a4f77529 100644 --- a/data/scripts/maps/LittlerootTown.inc +++ b/data/scripts/maps/LittlerootTown.inc @@ -207,7 +207,7 @@ LittlerootTown_EventScript_14D708:: @ 814D708 end LittlerootTown_EventScript_14D722:: @ 814D722 - special 148 + special GetPlayerBigGuyGirlString msgbox LittlerootTown_Text_16ADF2, 4 release end diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc index 9816734d0..69206566a 100644 --- a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc @@ -98,7 +98,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_152744:: @ 8152744 move 255, LittlerootTown_BrendansHouse_1F_Movement_1A083F move 4, LittlerootTown_BrendansHouse_1F_Movement_152782 waitmove 0 - special 149 + special GetRivalSonDaughterString msgbox LittlerootTown_BrendansHouse_1F_Text_1730C2, 4 setflag 87 setvar 0x4082, 2 diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc index 0c6ec79f7..0803cd512 100644 --- a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc +++ b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc @@ -59,10 +59,10 @@ LittlerootTown_BrendansHouse_2F_EventScript_15281E:: @ 815281E LittlerootTown_BrendansHouse_2F_EventScript_152837:: @ 8152837 setvar 0x8004, 1 - special 214 + special DoPCTurnOnEffect playsfx SE_PC_ON msgbox LittlerootTown_BrendansHouse_2F_Text_1A10D6, 4 - special 249 + special BedroomPC waitstate releaseall end @@ -70,7 +70,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_152837:: @ 8152837 gBrendanHouse_TurnPCOff:: @ 8152850 setvar 0x8004, 1 playsfx SE_PC_OFF - special 215 + special DoPCTurnOffEffect releaseall end diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc index 2b9ad42ef..5f7f20d63 100644 --- a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc +++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc @@ -98,7 +98,7 @@ LittlerootTown_MaysHouse_1F_EventScript_152982:: @ 8152982 move 255, LittlerootTown_MaysHouse_1F_Movement_1A0843 move 4, LittlerootTown_MaysHouse_1F_Movement_1529C0 waitmove 0 - special 149 + special GetRivalSonDaughterString msgbox LittlerootTown_MaysHouse_1F_Text_1730C2, 4 setflag 87 setvar 0x408c, 2 @@ -141,7 +141,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1529EB:: @ 81529EB jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A17 compare 0x408d, 3 jumpeq LittlerootTown_BrendansHouse_1F_EventScript_152A2B - special 149 + special GetRivalSonDaughterString msgbox LittlerootTown_BrendansHouse_1F_Text_1731C6, 4 release end diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc index 1aca3f86e..85a41caff 100644 --- a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc +++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc @@ -207,10 +207,10 @@ LittlerootTown_MaysHouse_2F_EventScript_152C52:: @ 8152C52 LittlerootTown_MaysHouse_2F_EventScript_152C5C:: @ 8152C5C setvar 0x8004, 2 - special 214 + special DoPCTurnOnEffect playsfx SE_PC_ON msgbox LittlerootTown_MaysHouse_2F_Text_1A10D6, 4 - special 249 + special BedroomPC waitstate releaseall end @@ -218,6 +218,6 @@ LittlerootTown_MaysHouse_2F_EventScript_152C5C:: @ 8152C5C gMayHouse_TurnPCOff:: @ 8152C75 setvar 0x8004, 2 playsfx SE_PC_OFF - special 215 + special DoPCTurnOffEffect releaseall end diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc index cb3b8505b..5436bf38a 100644 --- a/data/scripts/maps/MauvilleCity_BikeShop.inc +++ b/data/scripts/maps/MauvilleCity_BikeShop.inc @@ -58,7 +58,7 @@ MauvilleCity_BikeShop_EventScript_156847:: @ 8156847 MauvilleCity_BikeShop_EventScript_156861:: @ 8156861 msgbox MauvilleCity_BikeShop_Text_181362, 4 - special 130 + special SwapRegisteredBike release end diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc index a0aab4238..f20a7dacd 100644 --- a/data/scripts/maps/MauvilleCity_GameCorner.inc +++ b/data/scripts/maps/MauvilleCity_GameCorner.inc @@ -525,7 +525,7 @@ MauvilleCity_GameCorner_EventScript_157135:: @ 8157135 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 0 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -536,7 +536,7 @@ MauvilleCity_GameCorner_EventScript_157155:: @ 8157155 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 1 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -547,7 +547,7 @@ MauvilleCity_GameCorner_EventScript_157175:: @ 8157175 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 2 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -558,7 +558,7 @@ MauvilleCity_GameCorner_EventScript_157195:: @ 8157195 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 3 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -569,7 +569,7 @@ MauvilleCity_GameCorner_EventScript_1571B5:: @ 81571B5 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 4 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -580,7 +580,7 @@ MauvilleCity_GameCorner_EventScript_1571D5:: @ 81571D5 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 5 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -591,7 +591,7 @@ MauvilleCity_GameCorner_EventScript_1571F5:: @ 81571F5 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 6 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -602,7 +602,7 @@ MauvilleCity_GameCorner_EventScript_157215:: @ 8157215 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 7 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -613,7 +613,7 @@ MauvilleCity_GameCorner_EventScript_157235:: @ 8157235 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 8 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -624,7 +624,7 @@ MauvilleCity_GameCorner_EventScript_157255:: @ 8157255 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 9 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -635,7 +635,7 @@ MauvilleCity_GameCorner_EventScript_157275:: @ 8157275 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 10 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end @@ -646,7 +646,7 @@ MauvilleCity_GameCorner_EventScript_157295:: @ 8157295 compare RESULT, 0 jumpeq MauvilleCity_GameCorner_EventScript_1572B5 setvar 0x8004, 11 - specialval RESULT, 286 + specialval RESULT, sub_810F424 pokecasino RESULT releaseall end diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc index 9abac00d7..bd5c119f3 100644 --- a/data/scripts/maps/MauvilleCity_Gym.inc +++ b/data/scripts/maps/MauvilleCity_Gym.inc @@ -47,24 +47,24 @@ MauvilleCity_Gym_EventScript_15649B:: @ 815649B MauvilleCity_Gym_EventScript_15657D:: @ 815657D setvar 0x8004, 0 - special 140 + special MauvilleGymSpecial1 jump MauvilleCity_Gym_EventScript_156491 end MauvilleCity_Gym_EventScript_15658B:: @ 815658B setvar 0x8004, 1 - special 140 + special MauvilleGymSpecial1 jump MauvilleCity_Gym_EventScript_156491 end MauvilleCity_Gym_EventScript_156599:: @ 8156599 setvar 0x8004, 2 - special 140 + special MauvilleGymSpecial1 jump MauvilleCity_Gym_EventScript_156491 end MauvilleCity_Gym_EventScript_1565A7:: @ 81565A7 - special 144 + special MauvilleGymSpecial3 end MauvilleCity_Gym_EventScript_1565AB:: @ 81565AB @@ -89,8 +89,8 @@ MauvilleCity_Gym_EventScript_1565DB:: @ 81565DB callif 1, MauvilleCity_Gym_EventScript_1A00FB setvar 0x8008, 3 call MauvilleCity_Gym_EventScript_1A01C0 - special 144 - special 142 + special MauvilleGymSpecial3 + special DrawWholeMapView playsfx 44 jump MauvilleCity_Gym_EventScript_15661D end @@ -143,9 +143,9 @@ MauvilleCity_Gym_EventScript_156695:: @ 8156695 end MauvilleCity_Gym_EventScript_1566BA:: @ 81566BA - special 139 - special 140 - special 142 + special MauvilleGymSpecial2 + special MauvilleGymSpecial1 + special DrawWholeMapView playsfx 44 checkflag 99 jumpeq MauvilleCity_Gym_EventScript_1566E1 diff --git a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc index b943b9c8f..b2b5dabd4 100644 --- a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc @@ -9,7 +9,7 @@ MauvilleCity_PokemonCenter_1F_MapScript1_157357:: @ 8157357 end MauvilleCity_PokemonCenter_1F_EventScript_157365:: @ 8157365 - special 104 + special sub_80F83D0 end MauvilleCity_PokemonCenter_1F_EventScript_157369:: @ 8157369 diff --git a/data/scripts/maps/MeteorFalls_1F_2R.inc b/data/scripts/maps/MeteorFalls_1F_2R.inc index 6c239043d..8e45c34ae 100644 --- a/data/scripts/maps/MeteorFalls_1F_2R.inc +++ b/data/scripts/maps/MeteorFalls_1F_2R.inc @@ -3,7 +3,7 @@ MeteorFalls_1F_2R_MapScripts:: @ 815C678 MeteorFalls_1F_2R_EventScript_15C679:: @ 815C679 trainerbattle 0, OPPONENT_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_1939C5, MeteorFalls_1F_2R_Text_193A35 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq MeteorFalls_1F_2R_EventScript_15C6A0 msgbox MeteorFalls_1F_2R_Text_193A60, 6 @@ -16,7 +16,7 @@ MeteorFalls_1F_2R_EventScript_15C6A0:: @ 815C6A0 MeteorFalls_1F_2R_EventScript_15C6B7:: @ 815C6B7 trainerbattle 4, OPPONENT_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_193BB7, MeteorFalls_1F_2R_Text_193C10, MeteorFalls_1F_2R_Text_193C9F - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq MeteorFalls_1F_2R_EventScript_15C6E2 msgbox MeteorFalls_1F_2R_Text_193C35, 6 @@ -29,7 +29,7 @@ MeteorFalls_1F_2R_EventScript_15C6E2:: @ 815C6E2 MeteorFalls_1F_2R_EventScript_15C6FD:: @ 815C6FD trainerbattle 4, OPPONENT_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_193D10, MeteorFalls_1F_2R_Text_193D6E, MeteorFalls_1F_2R_Text_193DFB - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq MeteorFalls_1F_2R_EventScript_15C728 msgbox MeteorFalls_1F_2R_Text_193D9A, 6 diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc index c56adb1f3..14836f3e0 100644 --- a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc +++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc @@ -5,7 +5,7 @@ MossdeepCity_GameCorner_1F_MapScripts:: @ 815AC52 .byte 0 MossdeepCity_GameCorner_1F_MapScript1_15AC62:: @ 815AC62 - special 246 + special sub_813601C compare RESULT, 1 callif 1, MossdeepCity_GameCorner_1F_EventScript_15AC71 end @@ -16,7 +16,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AC71:: @ 815AC71 return MossdeepCity_GameCorner_1F_MapScript1_15AC84:: @ 815AC84 - special 246 + special sub_813601C compare RESULT, 0 callif 1, MossdeepCity_GameCorner_1F_EventScript_15AC9E compare 0x40c0, 0 @@ -55,7 +55,7 @@ MossdeepCity_GameCorner_1F_EventScript_15ACD5:: @ 815ACD5 callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD2B compare 0x40c0, 3 callif 1, MossdeepCity_GameCorner_1F_EventScript_15AD34 - special 40 + special LoadPlayerParty setvar 0x40c0, 0 releaseall end @@ -91,8 +91,8 @@ MossdeepCity_GameCorner_1F_EventScript_15AD42:: @ 815AD42 end MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59 - special 39 - special 285 + special SavePlayerParty + special sub_810F414 msgbox MossdeepCity_GameCorner_1F_Text_18E650, 5 compare RESULT, 0 jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8 @@ -102,13 +102,13 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59 msgbox MossdeepCity_GameCorner_1F_Text_18E741, 5 compare RESULT, 0 callif 1, MossdeepCity_GameCorner_1F_EventScript_15ADE8 - special 40 + special LoadPlayerParty call MossdeepCity_GameCorner_1F_EventScript_19F806 compare RESULT, 0 jumpeq MossdeepCity_GameCorner_1F_EventScript_15ADE8 hidebox 0, 0, 15, 10 - special 39 - special 248 + special SavePlayerParty + special ReducePlayerPartyToThree msgbox MossdeepCity_GameCorner_1F_Text_18E777, 4 closebutton compare FACING, 2 @@ -123,7 +123,7 @@ MossdeepCity_GameCorner_1F_EventScript_15AD59:: @ 815AD59 end MossdeepCity_GameCorner_1F_EventScript_15ADE8:: @ 815ADE8 - special 40 + special LoadPlayerParty msgbox MossdeepCity_GameCorner_1F_Text_18E698, 4 release end @@ -131,7 +131,7 @@ MossdeepCity_GameCorner_1F_EventScript_15ADE8:: @ 815ADE8 MossdeepCity_GameCorner_1F_EventScript_15ADF5:: @ 815ADF5 msgbox MossdeepCity_GameCorner_1F_Text_18E6DA, 4 fadescreen 1 - special 41 + special sub_80C5568 waitstate return diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc index a733093f9..a5a013d5f 100644 --- a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc +++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc @@ -4,7 +4,7 @@ MossdeepCity_GameCorner_B1F_MapScripts:: @ 815AE55 .byte 0 MossdeepCity_GameCorner_B1F_MapScript1_15AE60:: @ 815AE60 - special 322 + special sub_8134AB4 end MossdeepCity_GameCorner_B1F_MapScript2_15AE64:: @ 815AE64 @@ -15,12 +15,12 @@ MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E lockall move 255, MossdeepCity_GameCorner_B1F_Movement_15AEF9 waitmove 0 - special 235 + special sub_81360C0 msgbox 0x20234cc, 4 closebutton setvar 0x8004, 2 setvar 0x8005, 0 - special 236 + special sub_813556C waitstate compare RESULT, 3 callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AED5 @@ -29,10 +29,10 @@ MossdeepCity_GameCorner_B1F_EventScript_15AE6E:: @ 815AE6E compare RESULT, 2 callif 1, MossdeepCity_GameCorner_B1F_EventScript_15AEEE closebutton - special 0 + special HealPlayerParty move 255, MossdeepCity_GameCorner_B1F_Movement_15AEFF waitmove 0 - special 40 + special LoadPlayerParty setvar 0x4001, 1 warp MossdeepCity_GameCorner_1F, 255, 3, 1 waitstate @@ -46,14 +46,14 @@ MossdeepCity_GameCorner_B1F_EventScript_15AED5:: @ 815AED5 MossdeepCity_GameCorner_B1F_EventScript_15AEE3:: @ 815AEE3 setvar 0x40c0, 1 - special 141 + special ShowFieldMessageStringVar4 waittext waitbutton return MossdeepCity_GameCorner_B1F_EventScript_15AEEE:: @ 815AEEE setvar 0x40c0, 2 - special 141 + special ShowFieldMessageStringVar4 waittext waitbutton return diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc index 192f9e396..20f43a150 100644 --- a/data/scripts/maps/MossdeepCity_Gym.inc +++ b/data/scripts/maps/MossdeepCity_Gym.inc @@ -93,7 +93,7 @@ MossdeepCity_Gym_EventScript_15A5EA:: @ 815A5EA end MossdeepCity_Gym_EventScript_15A619:: @ 815A619 - special 142 + special DrawWholeMapView playsfx 36 releaseall end diff --git a/data/scripts/maps/MossdeepCity_House1.inc b/data/scripts/maps/MossdeepCity_House1.inc index d83e49643..319dfba8e 100644 --- a/data/scripts/maps/MossdeepCity_House1.inc +++ b/data/scripts/maps/MossdeepCity_House1.inc @@ -6,7 +6,7 @@ MossdeepCity_House1_EventScript_15A82F:: @ 815A82F faceplayer bufferfirstpoke 0 msgbox MossdeepCity_House1_Text_18D465, 4 - specialval RESULT, 277 + specialval RESULT, GetPokeblockNameByMonNature compare RESULT, 0 jumpeq MossdeepCity_House1_EventScript_15A855 msgbox MossdeepCity_House1_Text_18D475, 4 diff --git a/data/scripts/maps/MossdeepCity_House4.inc b/data/scripts/maps/MossdeepCity_House4.inc index bc8f44400..12dc941e7 100644 --- a/data/scripts/maps/MossdeepCity_House4.inc +++ b/data/scripts/maps/MossdeepCity_House4.inc @@ -18,10 +18,10 @@ MossdeepCity_House4_EventScript_15AB46:: @ 815AB46 MossdeepCity_House4_EventScript_15AB50:: @ 815AB50 lock faceplayer - special 7 + special sub_80BB63C compare RESULT, 0 jumpeq MossdeepCity_House4_EventScript_15AB6D - special 278 + special GetSecretBaseNearbyMapName msgbox MossdeepCity_House4_Text_18E17E, 4 release end diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc index 3b3a7f083..db31e4c62 100644 --- a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc +++ b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc @@ -5,7 +5,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_15AB8B:: @ 815AB8B lock faceplayer checkdailyflags - specialval RESULT, 256 + specialval RESULT, GetWeekCount buffernum 0, RESULT compare RESULT, 0 callif 1, MossdeepCity_SpaceCenter_1F_EventScript_15ABBA diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc index b7a43328b..fdebcf102 100644 --- a/data/scripts/maps/MtChimney.inc +++ b/data/scripts/maps/MtChimney.inc @@ -440,7 +440,7 @@ MtChimney_EventScript_15D1DA:: @ 815D1DA MtChimney_EventScript_15D1E3:: @ 815D1E3 trainerbattle 0, OPPONENT_SHELBY_1, 0, MtChimney_Text_19597F, MtChimney_Text_1959D8 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq MtChimney_EventScript_15D20A msgbox MtChimney_Text_195A04, 6 diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc index c00914f2e..24101b0cb 100644 --- a/data/scripts/maps/MtChimney_CableCarStation.inc +++ b/data/scripts/maps/MtChimney_CableCarStation.inc @@ -47,8 +47,8 @@ MtChimney_CableCarStation_EventScript_15C16C:: @ 815C16C setvar 0x8004, 1 setvar 0x40a3, 2 inccounter GAME_STAT_RODE_CABLE_CAR - special 151 - special 152 + special CableCarWarp + special sub_8123218 waitstate release end diff --git a/data/scripts/maps/MtPyre_6F.inc b/data/scripts/maps/MtPyre_6F.inc index 3729079bb..657b4ef15 100644 --- a/data/scripts/maps/MtPyre_6F.inc +++ b/data/scripts/maps/MtPyre_6F.inc @@ -3,7 +3,7 @@ MtPyre_6F_MapScripts:: @ 815D447 MtPyre_6F_EventScript_15D448:: @ 815D448 trainerbattle 0, OPPONENT_VALERIE_1, 0, MtPyre_6F_Text_1969FE, MtPyre_6F_Text_196A30 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq MtPyre_6F_EventScript_15D46F msgbox MtPyre_6F_Text_196A4C, 6 diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc index dc5885939..547fc72e7 100644 --- a/data/scripts/maps/NewMauville_Entrance.inc +++ b/data/scripts/maps/NewMauville_Entrance.inc @@ -39,7 +39,7 @@ NewMauville_Entrance_EventScript_15E4DC:: @ 815E4DC setmaptile 3, 1, 715, 1 setmaptile 4, 1, 716, 0 setmaptile 5, 1, 717, 1 - special 142 + special DrawWholeMapView playsfx 20 setvar 0x40ba, 1 releaseall diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc index 29c42e460..b088b8e7d 100644 --- a/data/scripts/maps/NewMauville_Inside.inc +++ b/data/scripts/maps/NewMauville_Inside.inc @@ -33,7 +33,7 @@ NewMauville_Inside_EventScript_15E5AA:: @ 815E5AA setvar 0x4002, 0 playsfx 21 call NewMauville_Inside_EventScript_15E5DA - special 142 + special DrawWholeMapView releaseall end @@ -43,7 +43,7 @@ NewMauville_Inside_EventScript_15E5C2:: @ 815E5C2 setvar 0x4002, 1 playsfx 21 call NewMauville_Inside_EventScript_15E728 - special 142 + special DrawWholeMapView releaseall end @@ -145,7 +145,7 @@ NewMauville_Inside_EventScript_15E88B:: @ 815E88B setmaptile 33, 3, 757, 1 setmaptile 34, 3, 758, 1 setmaptile 35, 3, 759, 1 - special 142 + special DrawWholeMapView return NewMauville_Inside_EventScript_15E8E0:: @ 815E8E0 diff --git a/data/scripts/maps/PacifidlogTown_House2.inc b/data/scripts/maps/PacifidlogTown_House2.inc index b95a41ceb..e45f09de4 100644 --- a/data/scripts/maps/PacifidlogTown_House2.inc +++ b/data/scripts/maps/PacifidlogTown_House2.inc @@ -13,10 +13,10 @@ PacifidlogTown_House2_EventScript_154168:: @ 8154168 checkflag 300 callif 0, PacifidlogTown_House2_EventScript_1541D7 setflag 300 - specialval RESULT, 230 + specialval RESULT, GetLeadMonFriendshipScore compare RESULT, 4 jumpif 4, PacifidlogTown_House2_EventScript_1541EC - specialval RESULT, 230 + specialval RESULT, GetLeadMonFriendshipScore compare RESULT, 2 jumpif 4, PacifidlogTown_House2_EventScript_15421B jump PacifidlogTown_House2_EventScript_154225 @@ -25,7 +25,7 @@ PacifidlogTown_House2_EventScript_154168:: @ 8154168 PacifidlogTown_House2_EventScript_1541B4:: @ 81541B4 checkflag 299 jumpif 0, PacifidlogTown_House2_EventScript_1A14DC - specialval RESULT, 334 + specialval RESULT, sub_810F908 compare RESULT, 0 callif 1, PacifidlogTown_House2_EventScript_1541E8 return @@ -49,7 +49,7 @@ PacifidlogTown_House2_EventScript_1541EC:: @ 81541EC compare RESULT, 0 jumpeq PacifidlogTown_House2_EventScript_1A029B setflag 299 - special 333 + special sub_810F950 msgbox PacifidlogTown_House2_Text_179283, 4 release end @@ -65,13 +65,13 @@ PacifidlogTown_House2_EventScript_154225:: @ 8154225 compare RESULT, 0 jumpeq PacifidlogTown_House2_EventScript_1A029B setflag 299 - special 333 + special sub_810F950 msgbox PacifidlogTown_House2_Text_179283, 4 release end PacifidlogTown_House2_EventScript_154254:: @ 8154254 - specialval RESULT, 334 + specialval RESULT, sub_810F908 buffernum 0, RESULT msgbox PacifidlogTown_House2_Text_1792F2, 4 release diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc index 7ee815f07..6ab9a09b0 100644 --- a/data/scripts/maps/PacifidlogTown_House3.inc +++ b/data/scripts/maps/PacifidlogTown_House3.inc @@ -8,25 +8,25 @@ PacifidlogTown_House3_EventScript_15429E:: @ 815429E jumpeq PacifidlogTown_House3_EventScript_154338 setvar 0x8008, 2 copyvar 0x8004, 0x8008 - specialval RESULT, 252 + specialval RESULT, sub_804D89C copyvar 0x8009, RESULT msgbox PacifidlogTown_House3_Text_17940E, 5 compare RESULT, 0 jumpeq PacifidlogTown_House3_EventScript_154320 - special 159 + special sub_80F9A0C waitstate copyvar 0x800a, 0x8004 compare 0x8004, 255 jumpeq PacifidlogTown_House3_EventScript_154320 copyvar 0x8005, 0x800a - specialval RESULT, 255 + specialval RESULT, sub_804DB2C copyvar 0x800b, RESULT comparevars RESULT, 0x8009 jumpif 5, PacifidlogTown_House3_EventScript_15432A copyvar 0x8004, 0x8008 copyvar 0x8005, 0x800a - special 253 - special 254 + special sub_804DB68 + special sub_804E174 waitstate bufferpoke 0, 0x8009 msgbox PacifidlogTown_House3_Text_1794C4, 4 diff --git a/data/scripts/maps/PacifidlogTown_House5.inc b/data/scripts/maps/PacifidlogTown_House5.inc index f20de28df..dca1a51b0 100644 --- a/data/scripts/maps/PacifidlogTown_House5.inc +++ b/data/scripts/maps/PacifidlogTown_House5.inc @@ -4,7 +4,7 @@ PacifidlogTown_House5_MapScripts:: @ 8154393 PacifidlogTown_House5_EventScript_154394:: @ 8154394 lock faceplayer - specialval RESULT, 209 + specialval RESULT, IsMirageIslandPresent compare RESULT, 1 jumpeq PacifidlogTown_House5_EventScript_1543B0 msgbox PacifidlogTown_House5_Text_179718, 4 diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc index 3667eb3cf..dc5efe243 100644 --- a/data/scripts/maps/PetalburgCity.inc +++ b/data/scripts/maps/PetalburgCity.inc @@ -26,13 +26,13 @@ PetalburgCity_MapScript2_14B73D:: @ 814B73D PetalburgCity_EventScript_14B747:: @ 814B747 lockall setflag 0x4000 - special 39 - special 301 + special SavePlayerParty + special PutZigzagoonInPlayerParty move 2, PetalburgCity_Movement_14B7ED move 255, PetalburgCity_Movement_14B7CC waitmove 0 msgbox PetalburgCity_Text_16D361, 4 - special 157 + special StartBattle_WallyTutorial waitstate msgbox PetalburgCity_Text_16D3DE, 4 movecoords 2, PetalburgCity_Movement_1A083F, 0, 0 @@ -43,7 +43,7 @@ PetalburgCity_EventScript_14B747:: @ 814B747 setvar 0x4057, 3 fadedefault clearflag 0x4001 - special 40 + special LoadPlayerParty setvar 0x4085, 1 warp PetalburgCity_Gym, 255, 4, 108 waitstate diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc index 9c6802e28..c534cb538 100644 --- a/data/scripts/maps/PetalburgCity_Gym.inc +++ b/data/scripts/maps/PetalburgCity_Gym.inc @@ -211,7 +211,7 @@ PetalburgCity_Gym_EventScript_154669:: @ 8154669 clearflag 726 clearflag 866 setflag 889 - special 211 + special InitBirchState warp PetalburgCity, 255, 15, 8 waitstate release @@ -363,7 +363,7 @@ PetalburgCity_Gym_EventScript_15493D:: @ 815493D end PetalburgCity_Gym_EventScript_154969:: @ 8154969 - specialval RESULT, 50 + specialval RESULT, IsEnigmaBerryValid compare RESULT, 0 jumpeq PetalburgCity_Gym_EventScript_1549B2 checkitem ITEM_ENIGMA_BERRY, 1 @@ -407,7 +407,7 @@ PetalburgCity_Gym_EventScript_1549D6:: @ 81549D6 call PetalburgCity_Gym_EventScript_1A01C0 clearflag 940 call PetalburgCity_Gym_EventScript_1544ED - special 142 + special DrawWholeMapView jump PetalburgCity_Gym_EventScript_154A2C end @@ -773,7 +773,7 @@ PetalburgCity_Gym_EventScript_154DF6:: @ 8154DF6 PetalburgCity_Gym_EventScript_154E1A:: @ 8154E1A setvar 0x8005, 0 call PetalburgCity_Gym_EventScript_154FBB - special 142 + special DrawWholeMapView release end @@ -791,7 +791,7 @@ PetalburgCity_Gym_EventScript_154E32:: @ 8154E32 PetalburgCity_Gym_EventScript_154E56:: @ 8154E56 setvar 0x8005, 0 call PetalburgCity_Gym_EventScript_154FFD - special 142 + special DrawWholeMapView release end @@ -809,7 +809,7 @@ PetalburgCity_Gym_EventScript_154E6E:: @ 8154E6E PetalburgCity_Gym_EventScript_154E92:: @ 8154E92 setvar 0x8005, 0 call PetalburgCity_Gym_EventScript_15503F - special 142 + special DrawWholeMapView release end @@ -827,7 +827,7 @@ PetalburgCity_Gym_EventScript_154EAA:: @ 8154EAA PetalburgCity_Gym_EventScript_154ECE:: @ 8154ECE setvar 0x8005, 0 call PetalburgCity_Gym_EventScript_155081 - special 142 + special DrawWholeMapView release end @@ -845,7 +845,7 @@ PetalburgCity_Gym_EventScript_154EE6:: @ 8154EE6 PetalburgCity_Gym_EventScript_154F0A:: @ 8154F0A setvar 0x8005, 0 call PetalburgCity_Gym_EventScript_154FDC - special 142 + special DrawWholeMapView release end @@ -863,7 +863,7 @@ PetalburgCity_Gym_EventScript_154F22:: @ 8154F22 PetalburgCity_Gym_EventScript_154F46:: @ 8154F46 setvar 0x8005, 0 call PetalburgCity_Gym_EventScript_15501E - special 142 + special DrawWholeMapView release end @@ -881,7 +881,7 @@ PetalburgCity_Gym_EventScript_154F5E:: @ 8154F5E PetalburgCity_Gym_EventScript_154F82:: @ 8154F82 setvar 0x8005, 0 call PetalburgCity_Gym_EventScript_155060 - special 142 + special DrawWholeMapView release end @@ -1010,12 +1010,12 @@ PetalburgCity_Gym_EventScript_15516F:: @ 815516F return PetalburgCity_Gym_EventScript_155182:: @ 8155182 - special 145 + special PetalburgGymSpecial1 waitstate return PetalburgCity_Gym_EventScript_155187:: @ 8155187 - special 146 + special PetalburgGymSpecial2 return PetalburgCity_Gym_EventScript_15518B:: @ 815518B diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc index 09d414dcb..5ef99eee1 100644 --- a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc +++ b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc @@ -27,7 +27,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_155233:: @ 8155233 lock faceplayer msgbox PetalburgCity_PokemonCenter_1F_Text_17BDC5, 4 - specialval RESULT, 302 + specialval RESULT, IsStarterInParty compare RESULT, 1 jumpeq PetalburgCity_PokemonCenter_1F_EventScript_15524F release diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc index 8d6946bcd..c24f7c195 100644 --- a/data/scripts/maps/PetalburgWoods.inc +++ b/data/scripts/maps/PetalburgWoods.inc @@ -271,7 +271,7 @@ PetalburgWoods_EventScript_15CF27:: @ 815CF27 PetalburgWoods_EventScript_15CF3E:: @ 815CF3E trainerbattle 0, OPPONENT_JAMES_1, 0, PetalburgWoods_Text_19526A, PetalburgWoods_Text_1952AE - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq PetalburgWoods_EventScript_15CF65 msgbox PetalburgWoods_Text_1952CC, 6 diff --git a/data/scripts/maps/Route101.inc b/data/scripts/maps/Route101.inc index 944473e96..8462603a6 100644 --- a/data/scripts/maps/Route101.inc +++ b/data/scripts/maps/Route101.inc @@ -224,12 +224,12 @@ Route101_EventScript_14EA7F:: @ 814EA7F movesprite 255, 6, 13 move 255, Route101_Movement_1A083F waitmove 0 - special 156 + special ChooseStarter waitstate move 2, Route101_Movement_14EAD7 waitmove 0 msgbox Route101_Text_16D191, 4 - special 0 + special HealPlayerParty setflag 720 clearflag 721 setflag 700 diff --git a/data/scripts/maps/Route102.inc b/data/scripts/maps/Route102.inc index 70d25eace..b0a714763 100644 --- a/data/scripts/maps/Route102.inc +++ b/data/scripts/maps/Route102.inc @@ -19,7 +19,7 @@ Route102_EventScript_14EAF5:: @ 814EAF5 Route102_EventScript_14EAFE:: @ 814EAFE trainerbattle 0, OPPONENT_CALVIN_1, 0, Route102_Text_1B79C3, Route102_Text_1B7A2C - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route102_EventScript_14EB25 msgbox Route102_Text_1B7A60, 6 diff --git a/data/scripts/maps/Route103.inc b/data/scripts/maps/Route103.inc index f47f5a824..4c7da3d0d 100644 --- a/data/scripts/maps/Route103.inc +++ b/data/scripts/maps/Route103.inc @@ -173,7 +173,7 @@ Route103_EventScript_14ED94:: @ 814ED94 Route103_EventScript_14EDAB:: @ 814EDAB trainerbattle 4, OPPONENT_AMY_AND_LIV_1, 0, Route103_Text_1B7DF7, Route103_Text_1B7E3B, Route103_Text_1B7EAC - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route103_EventScript_14EDD6 msgbox Route103_Text_1B7E50, 6 @@ -186,7 +186,7 @@ Route103_EventScript_14EDD6:: @ 814EDD6 Route103_EventScript_14EDF1:: @ 814EDF1 trainerbattle 4, OPPONENT_AMY_AND_LIV_1, 0, Route103_Text_1B7EFB, Route103_Text_1B7F20, Route103_Text_1B7F8E - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route103_EventScript_14EE1C msgbox Route103_Text_1B7F40, 6 @@ -204,7 +204,7 @@ Route103_EventScript_14EE37:: @ 814EE37 Route103_EventScript_14EE4E:: @ 814EE4E trainerbattle 0, OPPONENT_MIGUEL_1, 0, Route103_Text_1B82A9, Route103_Text_1B82EC - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route103_EventScript_14EE75 msgbox Route103_Text_1B830D, 6 diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc index bb98b023d..b617767bf 100644 --- a/data/scripts/maps/Route104.inc +++ b/data/scripts/maps/Route104.inc @@ -409,7 +409,7 @@ Route104_EventScript_14F189:: @ 814F189 Route104_EventScript_14F1A0:: @ 814F1A0 trainerbattle 0, OPPONENT_HALEY_1, 0, Route104_Text_1B8770, Route104_Text_1B87A7 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route104_EventScript_14F1C7 msgbox Route104_Text_1B87C3, 6 @@ -422,7 +422,7 @@ Route104_EventScript_14F1C7:: @ 814F1C7 Route104_EventScript_14F1DE:: @ 814F1DE trainerbattle 0, OPPONENT_WINSTON_1, 0, Route104_Text_1B88D4, Route104_Text_1B8911 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route104_EventScript_14F205 msgbox Route104_Text_1B8925, 6 @@ -435,7 +435,7 @@ Route104_EventScript_14F205:: @ 814F205 Route104_EventScript_14F21C:: @ 814F21C trainerbattle 0, OPPONENT_CINDY_1, 0, Route104_Text_1B8A24, Route104_Text_1B8A61 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route104_EventScript_14F243 msgbox Route104_Text_1B8A69, 6 @@ -448,14 +448,14 @@ Route104_EventScript_14F243:: @ 814F243 Route104_EventScript_14F25A:: @ 814F25A trainerbattle 4, OPPONENT_GINA_AND_MIA_1, 0, Route104_Text_1B83E9, Route104_Text_1B8414, Route104_Text_1B845C - special 148 + special GetPlayerBigGuyGirlString msgbox Route104_Text_1B842C, 4 release end Route104_EventScript_14F279:: @ 814F279 trainerbattle 4, OPPONENT_GINA_AND_MIA_1, 0, Route104_Text_1B84DB, Route104_Text_1B850D, Route104_Text_1B8577 - special 148 + special GetPlayerBigGuyGirlString msgbox Route104_Text_1B853B, 4 release end diff --git a/data/scripts/maps/Route104_Prototype.inc b/data/scripts/maps/Route104_Prototype.inc index 184127187..ff1c9d258 100644 --- a/data/scripts/maps/Route104_Prototype.inc +++ b/data/scripts/maps/Route104_Prototype.inc @@ -60,7 +60,7 @@ Route104_Prototype_EventScript_160CFB:: @ 8160CFB pause 60 fadescreen 1 pause 60 - special 271 + special DoSoftReset waitstate release end diff --git a/data/scripts/maps/Route106.inc b/data/scripts/maps/Route106.inc index 1889eb4d7..0c25594c6 100644 --- a/data/scripts/maps/Route106.inc +++ b/data/scripts/maps/Route106.inc @@ -17,7 +17,7 @@ Route106_EventScript_14F34F:: @ 814F34F Route106_EventScript_14F366:: @ 814F366 trainerbattle 0, OPPONENT_ELLIOT_1, 0, Route106_Text_1B8EF0, Route106_Text_1B8F25 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route106_EventScript_14F38D msgbox Route106_Text_1B8F55, 6 diff --git a/data/scripts/maps/Route107.inc b/data/scripts/maps/Route107.inc index ef3407265..a14bb7298 100644 --- a/data/scripts/maps/Route107.inc +++ b/data/scripts/maps/Route107.inc @@ -8,7 +8,7 @@ Route107_EventScript_14F3BC:: @ 814F3BC Route107_EventScript_14F3D3:: @ 814F3D3 trainerbattle 0, OPPONENT_TONY_1, 0, Route107_Text_1B933A, Route107_Text_1B9365 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route107_EventScript_14F3FA msgbox Route107_Text_1B938E, 6 diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc index 343a8cab9..58c38173e 100644 --- a/data/scripts/maps/Route109.inc +++ b/data/scripts/maps/Route109.inc @@ -327,7 +327,7 @@ Route109_EventScript_14F70E:: @ 814F70E Route109_EventScript_14F725:: @ 814F725 lock faceplayer - special 148 + special GetPlayerBigGuyGirlString checkflag 280 jumpeq Route109_EventScript_14F762 msgbox Route109_Text_16E433, 4 @@ -396,7 +396,7 @@ Route109_EventScript_14F7F2:: @ 814F7F2 Route109_EventScript_14F809:: @ 814F809 trainerbattle 0, OPPONENT_RICKY_1, 0, Route109_Text_1B9C23, Route109_Text_1B9C65 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route109_EventScript_14F830 msgbox Route109_Text_1B9C6E, 6 @@ -409,7 +409,7 @@ Route109_EventScript_14F830:: @ 814F830 Route109_EventScript_14F847:: @ 814F847 trainerbattle 0, OPPONENT_LOLA_1, 0, Route109_Text_1B9D54, Route109_Text_1B9D87 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route109_EventScript_14F86E msgbox Route109_Text_1B9D8E, 6 diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc index 55c8f67df..d8c19d92c 100644 --- a/data/scripts/maps/Route110.inc +++ b/data/scripts/maps/Route110.inc @@ -5,7 +5,7 @@ Route110_MapScripts:: @ 814F900 .byte 0 Route110_MapScript1_14F910:: @ 814F910 - special 229 + special UpdateCyclingRoadState end Route110_MapScript1_14F914:: @ 814F914 @@ -25,7 +25,7 @@ Route110_MapScript2_14F933:: @ 814F933 .2byte 0 Route110_EventScript_14F93D:: @ 814F93D - special 226 + special BeginCyclingRoadChallenge setvar 0x40a9, 2 return @@ -131,7 +131,7 @@ Route110_EventScript_14FA25:: @ 814FA25 Route110_EventScript_14FA2E:: @ 814FA2E lockall - specialval RESULT, 225 + specialval RESULT, GetRecordedCyclingRoadResults compare RESULT, 0 jumpeq Route110_EventScript_14FA49 msgbox Route110_Text_16F53A, 4 @@ -146,7 +146,7 @@ Route110_EventScript_14FA49:: @ 814FA49 Route110_EventScript_14FA53:: @ 814FA53 lock faceplayer - specialval RESULT, 227 + specialval RESULT, GetPlayerAvatarBike compare RESULT, 1 jumpeq Route110_EventScript_14FA84 compare 0x40a9, 0 @@ -177,7 +177,7 @@ Route110_EventScript_14FAA5:: @ 814FAA5 Route110_EventScript_14FABC:: @ 814FABC trainerbattle 0, OPPONENT_EDWIN_1, 0, Route110_Text_1BA7D2, Route110_Text_1BA803 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route110_EventScript_14FAE3 msgbox Route110_Text_1BA829, 6 @@ -205,7 +205,7 @@ Route110_EventScript_14FB28:: @ 814FB28 Route110_EventScript_14FB3F:: @ 814FB3F trainerbattle 0, OPPONENT_BENJAMIN_1, 0, Route110_Text_1BA352, Route110_Text_1BA379 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route110_EventScript_14FB66 msgbox Route110_Text_1BA3A5, 6 @@ -223,7 +223,7 @@ Route110_EventScript_14FB7D:: @ 814FB7D Route110_EventScript_14FB94:: @ 814FB94 trainerbattle 0, OPPONENT_ABIGAIL_1, 0, Route110_Text_1BA4A0, Route110_Text_1BA50F - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route110_EventScript_14FBBB msgbox Route110_Text_1BA52E, 6 @@ -236,7 +236,7 @@ Route110_EventScript_14FBBB:: @ 814FBBB Route110_EventScript_14FBD2:: @ 814FBD2 trainerbattle 0, OPPONENT_ISABEL_1, 0, Route110_Text_1BA990, Route110_Text_1BA9D0 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route110_EventScript_14FBF9 msgbox Route110_Text_1BA9E9, 6 @@ -261,7 +261,7 @@ Route110_EventScript_14FC27:: @ 814FC27 end Route110_EventScript_14FC39:: @ 814FC39 - special 228 + special FinishCyclingRoadChallenge msgbox Route110_Text_16EF65, 4 switch RESULT case 10, Route110_EventScript_14FCC3 diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc index 0dbd5dfc4..96e492b39 100644 --- a/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc +++ b/data/scripts/maps/Route110_SeasideCyclingRoadNorthEntrance.inc @@ -23,7 +23,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634EB:: @ 81634EB Route110_SeasideCyclingRoadNorthEntrance_EventScript_1634F7:: @ 81634F7 @ Coord event directly in front of the gatesman heading left to right lockall - specialval RESULT, 227 @ player state? + specialval RESULT, GetPlayerAvatarBike @ player state? compare RESULT, 2 callif 1, Route110_SeasideCyclingRoadNorthEntrance_EventScript_16351D compare RESULT, 0 diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc b/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc index 96fb13f2b..08d6fb5f1 100644 --- a/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc +++ b/data/scripts/maps/Route110_SeasideCyclingRoadSouthEntrance.inc @@ -10,7 +10,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_16347F:: @ 816347F Route110_SeasideCyclingRoadSouthEntrance_EventScript_16348B:: @ 816348B lockall - specialval RESULT, 227 + specialval RESULT, GetPlayerAvatarBike compare RESULT, 0 jumpeq Route110_SeasideCyclingRoadSouthEntrance_EventScript_1634A6 setflag 2091 diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc index d2b2eaefb..10e1a6865 100644 --- a/data/scripts/maps/Route110_TrickHouseEnd.inc +++ b/data/scripts/maps/Route110_TrickHouseEnd.inc @@ -13,7 +13,7 @@ Route110_TrickHouseEnd_MapScript1_16194B:: @ 816194B Route110_TrickHouseEnd_MapScript1_161957:: @ 8161957 setvar 0x4001, 0 setvar 0x4002, 0 - special 261 + special SetTrickHouseEndRoomFlag end Route110_TrickHouseEnd_MapScript2_161965:: @ 8161965 @@ -33,7 +33,7 @@ Route110_TrickHouseEnd_MapScript2_16197C:: @ 816197C Route110_TrickHouseEnd_EventScript_161986:: @ 8161986 setvar 0x4001, 1 call Route110_TrickHouseEnd_EventScript_161994 - special 142 + special DrawWholeMapView end Route110_TrickHouseEnd_EventScript_161994:: @ 8161994 @@ -175,7 +175,7 @@ Route110_TrickHouseEnd_EventScript_161BAF:: @ 8161BAF callif 1, Route110_TrickHouseEnd_EventScript_161C61 msgbox Route110_TrickHouseEnd_Text_19C85C, 4 call Route110_TrickHouseEnd_EventScript_161C2E - special 260 + special ResetTrickHouseEndRoomFlag release end diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc index 434794b2f..2601942be 100644 --- a/data/scripts/maps/Route110_TrickHouseEntrance.inc +++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc @@ -502,7 +502,7 @@ Route110_TrickHouseEntrance_EventScript_1615C7:: @ 81615C7 Route110_TrickHouseEntrance_EventScript_1615DD:: @ 81615DD setmaptile 5, 1, 537, 0 - special 142 + special DrawWholeMapView pause 20 move 255, Route110_TrickHouseEntrance_Movement_1A0856 waitmove 0 @@ -608,7 +608,7 @@ Route110_TrickHouseEntrance_EventScript_161740:: @ 8161740 playsfx SE_PIN setvar 0x40AB, 2 setmaptile 13, 1, 523, 0 - special 142 + special DrawWholeMapView releaseall end @@ -619,7 +619,7 @@ Route110_TrickHouseEntrance_EventScript_161769:: @ 8161769 playsfx SE_PIN setvar 0x40AC, 2 setmaptile 13, 1, 523, 0 - special 142 + special DrawWholeMapView releaseall end @@ -630,7 +630,7 @@ Route110_TrickHouseEntrance_EventScript_161792:: @ 8161792 playsfx SE_PIN setvar 0x40AD, 2 setmaptile 13, 1, 523, 0 - special 142 + special DrawWholeMapView releaseall end @@ -641,7 +641,7 @@ Route110_TrickHouseEntrance_EventScript_1617BB:: @ 81617BB playsfx SE_PIN setvar 0x40AE, 2 setmaptile 13, 1, 523, 0 - special 142 + special DrawWholeMapView releaseall end @@ -652,7 +652,7 @@ Route110_TrickHouseEntrance_EventScript_1617E4:: @ 81617E4 playsfx SE_PIN setvar 0x40AF, 2 setmaptile 13, 1, 523, 0 - special 142 + special DrawWholeMapView releaseall end @@ -663,7 +663,7 @@ Route110_TrickHouseEntrance_EventScript_16180D:: @ 816180D playsfx SE_PIN setvar 0x40B0, 2 setmaptile 13, 1, 523, 0 - special 142 + special DrawWholeMapView releaseall end @@ -674,7 +674,7 @@ Route110_TrickHouseEntrance_EventScript_161836:: @ 8161836 playsfx SE_PIN setvar 0x40B1, 2 setmaptile 13, 1, 523, 0 - special 142 + special DrawWholeMapView releaseall end @@ -685,7 +685,7 @@ Route110_TrickHouseEntrance_EventScript_16185F:: @ 816185F playsfx SE_PIN setvar 0x40B2, 2 setmaptile 13, 1, 523, 0 - special 142 + special DrawWholeMapView releaseall end diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc index 183431bfc..27ffad50d 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle2.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc @@ -38,7 +38,7 @@ Route110_TrickHousePuzzle2_EventScript_161DE0:: @ 8161DE0 setvar 0x4001, 1 playsfx 21 call Route110_TrickHousePuzzle2_EventScript_161E2C - special 142 + special DrawWholeMapView releaseall end @@ -47,7 +47,7 @@ Route110_TrickHousePuzzle2_EventScript_161DF3:: @ 8161DF3 setvar 0x4002, 1 playsfx 21 call Route110_TrickHousePuzzle2_EventScript_161E3F - special 142 + special DrawWholeMapView releaseall end @@ -56,7 +56,7 @@ Route110_TrickHousePuzzle2_EventScript_161E06:: @ 8161E06 setvar 0x4003, 1 playsfx 21 call Route110_TrickHousePuzzle2_EventScript_161E52 - special 142 + special DrawWholeMapView releaseall end @@ -65,7 +65,7 @@ Route110_TrickHousePuzzle2_EventScript_161E19:: @ 8161E19 setvar 0x4004, 1 playsfx 21 call Route110_TrickHousePuzzle2_EventScript_161E65 - special 142 + special DrawWholeMapView releaseall end diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc index b533dbbe5..efd96ec44 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle3.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc @@ -351,7 +351,7 @@ Route110_TrickHousePuzzle3_EventScript_1626AD:: @ 81626AD callif 1, Route110_TrickHousePuzzle3_EventScript_161FE5 compare 0x4009, 0 callif 1, Route110_TrickHousePuzzle3_EventScript_1622C8 - special 142 + special DrawWholeMapView compare 0x4009, 1 jumpeq Route110_TrickHousePuzzle3_EventScript_1626DD compare 0x4009, 0 diff --git a/data/scripts/maps/Route110_TrickHousePuzzle6.inc b/data/scripts/maps/Route110_TrickHousePuzzle6.inc index 56d350871..1e47bbd83 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle6.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle6.inc @@ -4,7 +4,7 @@ Route110_TrickHousePuzzle6_MapScripts:: @ 81630CD .byte 0 Route110_TrickHousePuzzle6_MapScript1_1630D8:: @ 81630D8 - special 201 + special RotatingGate_InitPuzzle end Route110_TrickHousePuzzle6_MapScript2_1630DC:: @ 81630DC @@ -12,7 +12,7 @@ Route110_TrickHousePuzzle6_MapScript2_1630DC:: @ 81630DC .2byte 0 Route110_TrickHousePuzzle6_EventScript_1630E6:: @ 81630E6 - special 202 + special RotatingGate_InitPuzzleAndGraphics end Route110_TrickHousePuzzle6_EventScript_1630EA:: @ 81630EA diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc index 1276562d0..7f965b467 100644 --- a/data/scripts/maps/Route110_TrickHousePuzzle7.inc +++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc @@ -125,7 +125,7 @@ Route110_TrickHousePuzzle7_EventScript_1632B9:: @ 81632B9 callif 0, Route110_TrickHousePuzzle7_EventScript_163195 checkflag 194 callif 1, Route110_TrickHousePuzzle7_EventScript_1631F4 - special 142 + special DrawWholeMapView playsfx 36 checkflag 194 jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633A4 @@ -140,7 +140,7 @@ Route110_TrickHousePuzzle7_EventScript_1632E8:: @ 81632E8 callif 0, Route110_TrickHousePuzzle7_EventScript_1631A8 checkflag 195 callif 1, Route110_TrickHousePuzzle7_EventScript_163207 - special 142 + special DrawWholeMapView playsfx 36 checkflag 195 jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633AE @@ -155,7 +155,7 @@ Route110_TrickHousePuzzle7_EventScript_163317:: @ 8163317 callif 0, Route110_TrickHousePuzzle7_EventScript_1631BB checkflag 196 callif 1, Route110_TrickHousePuzzle7_EventScript_16321A - special 142 + special DrawWholeMapView playsfx 36 checkflag 196 jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633B8 @@ -170,7 +170,7 @@ Route110_TrickHousePuzzle7_EventScript_163346:: @ 8163346 callif 0, Route110_TrickHousePuzzle7_EventScript_1631CE checkflag 197 callif 1, Route110_TrickHousePuzzle7_EventScript_16322D - special 142 + special DrawWholeMapView playsfx 36 checkflag 197 jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633C2 @@ -185,7 +185,7 @@ Route110_TrickHousePuzzle7_EventScript_163375:: @ 8163375 callif 0, Route110_TrickHousePuzzle7_EventScript_1631E1 checkflag 198 callif 1, Route110_TrickHousePuzzle7_EventScript_163240 - special 142 + special DrawWholeMapView playsfx 36 checkflag 198 jumpif 0, Route110_TrickHousePuzzle7_EventScript_1633CC diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc index 10b34cf5f..1358a44be 100644 --- a/data/scripts/maps/Route111.inc +++ b/data/scripts/maps/Route111.inc @@ -128,7 +128,7 @@ Route111_EventScript_1500C5:: @ 81500C5 compare RESULT, 0 jumpeq Route111_EventScript_1A029B setflag 2252 - special 148 + special GetPlayerBigGuyGirlString msgbox Route111_Text_1C5781, 4 release end @@ -392,7 +392,7 @@ Route111_EventScript_1503EC:: @ 81503EC Route111_EventScript_150403:: @ 8150403 trainerbattle 0, OPPONENT_DUSTY_1, 0, Route111_Text_1BAEC9, Route111_Text_1BAF14 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route111_EventScript_15042A msgbox Route111_Text_1BAF5B, 6 @@ -420,7 +420,7 @@ Route111_EventScript_15046F:: @ 815046F Route111_EventScript_150486:: @ 8150486 trainerbattle 0, OPPONENT_WILTON_1, 0, Route111_Text_1BB2E3, Route111_Text_1BB313 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route111_EventScript_1504AD msgbox Route111_Text_1BB33E, 6 @@ -433,7 +433,7 @@ Route111_EventScript_1504AD:: @ 81504AD Route111_EventScript_1504C4:: @ 81504C4 trainerbattle 0, OPPONENT_BROOKE_1, 0, Route111_Text_1BB44F, Route111_Text_1BB49F - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route111_EventScript_1504EB msgbox Route111_Text_1BB4CE, 6 diff --git a/data/scripts/maps/Route112.inc b/data/scripts/maps/Route112.inc index c2ad14a02..1c1e36838 100644 --- a/data/scripts/maps/Route112.inc +++ b/data/scripts/maps/Route112.inc @@ -38,7 +38,7 @@ Route112_EventScript_150549:: @ 8150549 Route112_EventScript_150560:: @ 8150560 trainerbattle 0, OPPONENT_TRENT_1, 0, Route112_Text_1BB6A0, Route112_Text_1BB707 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route112_EventScript_150587 msgbox Route112_Text_1BB721, 6 diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc index 3e5f75929..016b868a8 100644 --- a/data/scripts/maps/Route112_CableCarStation.inc +++ b/data/scripts/maps/Route112_CableCarStation.inc @@ -48,8 +48,8 @@ Route112_CableCarStation_EventScript_15C0AD:: @ 815C0AD setvar 0x8004, 0 setvar 0x40a3, 1 inccounter GAME_STAT_RODE_CABLE_CAR - special 151 - special 152 + special CableCarWarp + special sub_8123218 waitstate release end diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc index c07f537d1..1fc5a9345 100644 --- a/data/scripts/maps/Route113.inc +++ b/data/scripts/maps/Route113.inc @@ -60,7 +60,7 @@ Route113_EventScript_150652:: @ 8150652 Route113_EventScript_150669:: @ 8150669 trainerbattle 0, OPPONENT_MADELINE_1, 0, Route113_Text_1BBB27, Route113_Text_1BBB7A - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route113_EventScript_150690 msgbox Route113_Text_1BBB9A, 6 @@ -73,7 +73,7 @@ Route113_EventScript_150690:: @ 8150690 Route113_EventScript_1506A7:: @ 81506A7 trainerbattle 0, OPPONENT_LAO_1, 0, Route113_Text_1BBC59, Route113_Text_1BBC90 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route113_EventScript_1506CE msgbox Route113_Text_1BBCAB, 6 diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc index d59942472..83983f9bb 100644 --- a/data/scripts/maps/Route113_GlassWorkshop.inc +++ b/data/scripts/maps/Route113_GlassWorkshop.inc @@ -52,7 +52,7 @@ Route113_GlassWorkshop_EventScript_1635E4:: @ 81635E4 Route113_GlassWorkshop_EventScript_1635EE:: @ 81635EE setvar 0x8009, 0 - special 274 + special ShowGlassWorkshopMenu waitstate switch RESULT case 0, Route113_GlassWorkshop_EventScript_163660 diff --git a/data/scripts/maps/Route114.inc b/data/scripts/maps/Route114.inc index 33e89be70..cfe1dfe7d 100644 --- a/data/scripts/maps/Route114.inc +++ b/data/scripts/maps/Route114.inc @@ -87,7 +87,7 @@ Route114_EventScript_150836:: @ 8150836 Route114_EventScript_15084D:: @ 815084D trainerbattle 0, OPPONENT_STEVE_1, 0, Route114_Text_1BC2F5, Route114_Text_1BC327 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route114_EventScript_150874 msgbox Route114_Text_1BC337, 6 @@ -100,7 +100,7 @@ Route114_EventScript_150874:: @ 8150874 Route114_EventScript_15088B:: @ 815088B trainerbattle 0, OPPONENT_BERNIE_1, 0, Route114_Text_1BC45A, Route114_Text_1BC499 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route114_EventScript_1508B2 msgbox Route114_Text_1BC4B5, 6 diff --git a/data/scripts/maps/Route115.inc b/data/scripts/maps/Route115.inc index e2c00f6fc..2b0d744ca 100644 --- a/data/scripts/maps/Route115.inc +++ b/data/scripts/maps/Route115.inc @@ -15,7 +15,7 @@ Route115_EventScript_150940:: @ 8150940 Route115_EventScript_150949:: @ 8150949 trainerbattle 0, OPPONENT_TIMOTHY_1, 0, Route115_Text_1BC9AC, Route115_Text_1BC9E6 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route115_EventScript_150970 msgbox Route115_Text_1BCA0E, 6 @@ -33,7 +33,7 @@ Route115_EventScript_150987:: @ 8150987 Route115_EventScript_15099E:: @ 815099E trainerbattle 0, OPPONENT_NOB_1, 0, Route115_Text_1BCB8A, Route115_Text_1BCBC1 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route115_EventScript_1509C5 msgbox Route115_Text_1BCBDE, 6 @@ -46,7 +46,7 @@ Route115_EventScript_1509C5:: @ 81509C5 Route115_EventScript_1509DC:: @ 81509DC trainerbattle 0, OPPONENT_CYNDY_1, 0, Route115_Text_1BCCF4, Route115_Text_1BCD32 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route115_EventScript_150A03 msgbox Route115_Text_1BCD4C, 6 diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc index c563dce46..f5ef82f8b 100644 --- a/data/scripts/maps/Route116.inc +++ b/data/scripts/maps/Route116.inc @@ -150,7 +150,7 @@ Route116_EventScript_150B8F:: @ 8150B8F checkitem ITEM_BLACK_GLASSES, 1 compare RESULT, 1 jumpeq Route116_EventScript_150BCA - specialval RESULT, 316 + specialval RESULT, sub_810F828 compare RESULT, 1 jumpeq Route116_EventScript_150BBB msgbox Route116_Text_1708EE, 4 @@ -166,7 +166,7 @@ Route116_EventScript_150BBB:: @ 8150BBB Route116_EventScript_150BCA:: @ 8150BCA msgbox Route116_Text_1708EE, 4 msgbox Route116_Text_170921, 4 - specialval RESULT, 316 + specialval RESULT, sub_810F828 compare RESULT, 1 jumpeq Route116_EventScript_150BF4 msgbox Route116_Text_170A03, 4 @@ -240,7 +240,7 @@ Route116_EventScript_150C79:: @ 8150C79 Route116_EventScript_150C90:: @ 8150C90 trainerbattle 0, OPPONENT_JERRY_1, 0, Route116_Text_1BD1C0, Route116_Text_1BD21A - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route116_EventScript_150CB7 msgbox Route116_Text_1BD248, 6 @@ -263,7 +263,7 @@ Route116_EventScript_150CE5:: @ 8150CE5 Route116_EventScript_150CFC:: @ 8150CFC trainerbattle 0, OPPONENT_KAREN_1, 0, Route116_Text_1BD377, Route116_Text_1BD3AC - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route116_EventScript_150D23 msgbox Route116_Text_1BD3C3, 6 diff --git a/data/scripts/maps/Route117.inc b/data/scripts/maps/Route117.inc index 8c738ffff..61dbf6a30 100644 --- a/data/scripts/maps/Route117.inc +++ b/data/scripts/maps/Route117.inc @@ -40,7 +40,7 @@ Route117_EventScript_150D84:: @ 8150D84 Route117_EventScript_150D8D:: @ 8150D8D trainerbattle 0, OPPONENT_ISAAC_1, 0, Route117_Text_1BD49E, Route117_Text_1BD4D9 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route117_EventScript_150DB4 msgbox Route117_Text_1BD4F9, 6 @@ -53,7 +53,7 @@ Route117_EventScript_150DB4:: @ 8150DB4 Route117_EventScript_150DCB:: @ 8150DCB trainerbattle 0, OPPONENT_LYDIA_1, 0, Route117_Text_1BD634, Route117_Text_1BD67B - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route117_EventScript_150DF2 msgbox Route117_Text_1BD69B, 6 @@ -66,7 +66,7 @@ Route117_EventScript_150DF2:: @ 8150DF2 Route117_EventScript_150E09:: @ 8150E09 trainerbattle 0, OPPONENT_DYLAN_1, 0, Route117_Text_1BD79A, Route117_Text_1BD7E0 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route117_EventScript_150E30 msgbox Route117_Text_1BD7F5, 6 @@ -79,7 +79,7 @@ Route117_EventScript_150E30:: @ 8150E30 Route117_EventScript_150E47:: @ 8150E47 trainerbattle 0, OPPONENT_MARIA_1, 0, Route117_Text_1BD914, Route117_Text_1BD965 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route117_EventScript_150E6E msgbox Route117_Text_1BD98F, 6 @@ -97,7 +97,7 @@ Route117_EventScript_150E85:: @ 8150E85 Route117_EventScript_150E9C:: @ 8150E9C trainerbattle 4, OPPONENT_ANNA_AND_MEG_1, 0, Route117_Text_1BDBC3, Route117_Text_1BDC07, Route117_Text_1BDC96 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route117_EventScript_150EC7 msgbox Route117_Text_1BDC44, 6 @@ -110,7 +110,7 @@ Route117_EventScript_150EC7:: @ 8150EC7 Route117_EventScript_150EE2:: @ 8150EE2 trainerbattle 4, OPPONENT_ANNA_AND_MEG_1, 0, Route117_Text_1BDCD2, Route117_Text_1BDD1E, Route117_Text_1BDD8B - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route117_EventScript_150F0D msgbox Route117_Text_1BDD4E, 6 diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc index 4d739ce68..0b5b4748e 100644 --- a/data/scripts/maps/Route118.inc +++ b/data/scripts/maps/Route118.inc @@ -161,7 +161,7 @@ Route118_Movement_151086:: @ 8151086 Route118_EventScript_15108F:: @ 815108F trainerbattle 0, OPPONENT_ROSE_1, 0, Route118_Text_1BDFF4, Route118_Text_1BE03C - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route118_EventScript_1510B6 msgbox Route118_Text_1BE05E, 6 @@ -184,7 +184,7 @@ Route118_EventScript_1510E4:: @ 81510E4 Route118_EventScript_1510FB:: @ 81510FB trainerbattle 0, OPPONENT_DALTON_1, 0, Route118_Text_1BE3E8, Route118_Text_1BE406 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route118_EventScript_151122 msgbox Route118_Text_1BE413, 6 diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc index 1ccc972bb..55a3fb1dc 100644 --- a/data/scripts/maps/Route119.inc +++ b/data/scripts/maps/Route119.inc @@ -29,7 +29,7 @@ Route119_MapScript1_15119B:: @ 815119B call Route119_EventScript_1A0196 compare 0x40b3, 1 callif 1, Route119_EventScript_1511B9 - special 324 + special SetRoute119Weather end Route119_EventScript_1511B9:: @ 81511B9 @@ -296,7 +296,7 @@ Route119_EventScript_1514A8:: @ 81514A8 Route119_EventScript_1514BF:: @ 81514BF trainerbattle 0, OPPONENT_JACKSON_1, 0, Route119_Text_1BE8BB, Route119_Text_1BE90E - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route119_EventScript_1514E6 msgbox Route119_Text_1BE937, 6 @@ -309,7 +309,7 @@ Route119_EventScript_1514E6:: @ 81514E6 Route119_EventScript_1514FD:: @ 81514FD trainerbattle 0, OPPONENT_CATHERINE_1, 0, Route119_Text_1BEA3A, Route119_Text_1BEA88 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route119_EventScript_151524 msgbox Route119_Text_1BEAB3, 6 diff --git a/data/scripts/maps/Route119_WeatherInstitute_1F.inc b/data/scripts/maps/Route119_WeatherInstitute_1F.inc index 36314a59f..95ec39d61 100644 --- a/data/scripts/maps/Route119_WeatherInstitute_1F.inc +++ b/data/scripts/maps/Route119_WeatherInstitute_1F.inc @@ -16,7 +16,7 @@ Route119_WeatherInstitute_1F_EventScript_163C41:: @ 8163C41 Route119_WeatherInstitute_1F_EventScript_163C4D:: @ 8163C4D lock faceplayer - special 148 + special GetPlayerBigGuyGirlString compare 0x40b3, 0 jumpeq Route119_WeatherInstitute_1F_EventScript_163C67 msgbox Route119_WeatherInstitute_1F_Text_19ED22, 4 diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc index ada773ffd..75385fe8f 100644 --- a/data/scripts/maps/Route120.inc +++ b/data/scripts/maps/Route120.inc @@ -120,7 +120,7 @@ Route120_EventScript_151739:: @ 8151739 callif 1, Route120_EventScript_151841 compare RESULT, 0 callif 1, Route120_EventScript_15184A - specialval RESULT, 147 + specialval RESULT, GetPlayerTrainerIdOnesDigit switch RESULT case 0, Route120_EventScript_1517DC case 5, Route120_EventScript_1517DC @@ -254,7 +254,7 @@ Route120_EventScript_151908:: @ 8151908 setmaptile 12, 16, 671, 0 setmaptile 12, 17, 161, 0 setmaptile 13, 17, 161, 0 - special 142 + special DrawWholeMapView release end @@ -292,7 +292,7 @@ Route120_EventScript_1519B3:: @ 81519B3 Route120_EventScript_1519CA:: @ 81519CA trainerbattle 0, OPPONENT_ROBERT_1, 0, Route120_Text_1BF07E, Route120_Text_1BF0A5 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route120_EventScript_1519F1 msgbox Route120_Text_1BF0C3, 6 @@ -315,7 +315,7 @@ Route120_EventScript_151A1F:: @ 8151A1F Route120_EventScript_151A36:: @ 8151A36 trainerbattle 0, OPPONENT_BRANDON_1, 0, Route120_Text_1BF32B, Route120_Text_1BF36B - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route120_EventScript_151A5D msgbox Route120_Text_1BF38D, 6 diff --git a/data/scripts/maps/Route121.inc b/data/scripts/maps/Route121.inc index 54912b0bc..e1aaec716 100644 --- a/data/scripts/maps/Route121.inc +++ b/data/scripts/maps/Route121.inc @@ -73,7 +73,7 @@ Route121_EventScript_151B72:: @ 8151B72 Route121_EventScript_151B89:: @ 8151B89 trainerbattle 0, OPPONENT_WALTER_1, 0, Route121_Text_1BFA1B, Route121_Text_1BFA8C - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route121_EventScript_151BB0 msgbox Route121_Text_1BFA9D, 6 @@ -101,7 +101,7 @@ Route121_EventScript_151BF9:: @ 8151BF9 Route121_EventScript_151C14:: @ 8151C14 trainerbattle 0, OPPONENT_JESSICA_1, 0, Route121_Text_1BFE51, Route121_Text_1BFE80 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route121_EventScript_151C3B msgbox Route121_Text_1BFEAE, 6 diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc index 2056bc328..251b09c73 100644 --- a/data/scripts/maps/Route121_SafariZoneEntrance.inc +++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc @@ -10,7 +10,7 @@ Route121_SafariZoneEntrance_EventScript_15C333:: @ 815C333 lockall move 255, Route121_SafariZoneEntrance_Movement_15C348 waitmove 0 - special 206 + special ExitSafariMode setvar 0x40a4, 0 releaseall end @@ -80,7 +80,7 @@ Route121_SafariZoneEntrance_EventScript_15C3B3:: @ 815C3B3 hidemoney 0, 0 move 255, Route121_SafariZoneEntrance_Movement_15C47E waitmove 0 - special 205 + special EnterSafariMode setvar 0x40a4, 2 warp SafariZone_Southeast, 255, 32, 33 waitstate @@ -90,7 +90,7 @@ Route121_SafariZoneEntrance_EventScript_15C425:: @ 815C425 countpokemon compare RESULT, 6 jumpif 5, Route121_SafariZoneEntrance_EventScript_15C44F - specialval RESULT, 304 + specialval RESULT, CheckFreePokemonStorageSpace compare RESULT, 1 jumpeq Route121_SafariZoneEntrance_EventScript_15C44F msgbox Route121_SafariZoneEntrance_Text_1C39A3, 4 diff --git a/data/scripts/maps/Route123.inc b/data/scripts/maps/Route123.inc index e9248c230..891a395f0 100644 --- a/data/scripts/maps/Route123.inc +++ b/data/scripts/maps/Route123.inc @@ -3,7 +3,7 @@ Route123_MapScripts:: @ 8151C53 .byte 0 Route123_MapScript1_151C59:: @ 8151C59 - special 325 + special SetRoute123Weather end Route123_EventScript_151C5D:: @ 8151C5D @@ -12,7 +12,7 @@ Route123_EventScript_151C5D:: @ 8151C5D checkflag 232 jumpeq Route123_EventScript_151CAC msgbox Route123_Text_171D83, 4 - special 299 + special IsGrassTypeInParty compare RESULT, 0 jumpeq Route123_EventScript_151CAA msgbox Route123_Text_171DC2, 4 @@ -62,7 +62,7 @@ Route123_EventScript_151CFF:: @ 8151CFF Route123_EventScript_151D16:: @ 8151D16 trainerbattle 0, OPPONENT_CAMERON_1, 0, Route123_Text_1C013F, Route123_Text_1C01A3 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route123_EventScript_151D3D msgbox Route123_Text_1C01B1, 6 @@ -75,7 +75,7 @@ Route123_EventScript_151D3D:: @ 8151D3D Route123_EventScript_151D54:: @ 8151D54 trainerbattle 0, OPPONENT_JACKI_1, 0, Route123_Text_1C028C, Route123_Text_1C0303 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route123_EventScript_151D7B msgbox Route123_Text_1C030F, 6 diff --git a/data/scripts/maps/Route124.inc b/data/scripts/maps/Route124.inc index ea288daa0..68f17b12a 100644 --- a/data/scripts/maps/Route124.inc +++ b/data/scripts/maps/Route124.inc @@ -23,7 +23,7 @@ Route124_EventScript_151E0F:: @ 8151E0F Route124_EventScript_151E26:: @ 8151E26 trainerbattle 0, OPPONENT_JENNY_1, 0, Route124_Text_1C07B4, Route124_Text_1C07F9 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route124_EventScript_151E4D msgbox Route124_Text_1C080E, 6 @@ -46,7 +46,7 @@ Route124_EventScript_151E7B:: @ 8151E7B Route124_EventScript_151E92:: @ 8151E92 trainerbattle 4, OPPONENT_RITA_AND_SAM_1, 0, Route124_Text_1C0ABD, Route124_Text_1C0B36, Route124_Text_1C0BC8 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route124_EventScript_151EBD msgbox Route124_Text_1C0B72, 6 @@ -59,7 +59,7 @@ Route124_EventScript_151EBD:: @ 8151EBD Route124_EventScript_151ED8:: @ 8151ED8 trainerbattle 4, OPPONENT_RITA_AND_SAM_1, 0, Route124_Text_1C0C0E, Route124_Text_1C0C4F, Route124_Text_1C0CE0 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route124_EventScript_151F03 msgbox Route124_Text_1C0C7F, 6 diff --git a/data/scripts/maps/Route125.inc b/data/scripts/maps/Route125.inc index 0059fe6aa..a5d2457d5 100644 --- a/data/scripts/maps/Route125.inc +++ b/data/scripts/maps/Route125.inc @@ -29,7 +29,7 @@ Route125_EventScript_151F73:: @ 8151F73 Route125_EventScript_151F8A:: @ 8151F8A trainerbattle 0, OPPONENT_ERNEST_1, 0, Route125_Text_1C11AF, Route125_Text_1C11ED - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route125_EventScript_151FB1 msgbox Route125_Text_1C1208, 6 diff --git a/data/scripts/maps/Route128.inc b/data/scripts/maps/Route128.inc index 28317c4e3..011591400 100644 --- a/data/scripts/maps/Route128.inc +++ b/data/scripts/maps/Route128.inc @@ -17,7 +17,7 @@ Route128_EventScript_15213F:: @ 815213F lockall pause 20 .ifndef SAPPHIRE - special 317 + special sub_807E25C waitstate .endif move 4, Route128_Movement_152271 @@ -182,7 +182,7 @@ Route128_Movement_1522A1:: @ 81522A1 Route128_EventScript_1522A4:: @ 81522A4 trainerbattle 0, OPPONENT_ISAIAH_1, 0, Route128_Text_1C1C67, Route128_Text_1C1C95 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route128_EventScript_1522CB msgbox Route128_Text_1C1CC3, 6 @@ -195,7 +195,7 @@ Route128_EventScript_1522CB:: @ 81522CB Route128_EventScript_1522E2:: @ 81522E2 trainerbattle 0, OPPONENT_KATELYN_1, 0, Route128_Text_1C1DB0, Route128_Text_1C1E25 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq Route128_EventScript_152309 msgbox Route128_Text_1C1E4A, 6 diff --git a/data/scripts/maps/Route130.inc b/data/scripts/maps/Route130.inc index 38818dba3..bac6728a7 100644 --- a/data/scripts/maps/Route130.inc +++ b/data/scripts/maps/Route130.inc @@ -3,7 +3,7 @@ Route130_MapScripts:: @ 81523C2 .byte 0 Route130_MapScript1_1523C8:: @ 81523C8 - specialval RESULT, 209 + specialval RESULT, IsMirageIslandPresent compare RESULT, 1 jumpeq Route130_EventScript_15240C setflag 17 diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc index a10d7b69e..402fff1d3 100644 --- a/data/scripts/maps/RustboroCity_House1.inc +++ b/data/scripts/maps/RustboroCity_House1.inc @@ -8,25 +8,25 @@ RustboroCity_House1_EventScript_157C7D:: @ 8157C7D jumpeq RustboroCity_House1_EventScript_157D13 setvar 0x8008, 0 copyvar 0x8004, 0x8008 - specialval RESULT, 252 + specialval RESULT, sub_804D89C copyvar 0x8009, RESULT msgbox RustboroCity_House1_Text_184EBA, 5 compare RESULT, 0 jumpeq RustboroCity_House1_EventScript_157CFB - special 159 + special sub_80F9A0C waitstate copyvar 0x800a, 0x8004 compare 0x8004, 255 jumpeq RustboroCity_House1_EventScript_157CFB copyvar 0x8005, 0x800a - specialval RESULT, 255 + specialval RESULT, sub_804DB2C copyvar 0x800b, RESULT comparevars RESULT, 0x8009 jumpif 5, RustboroCity_House1_EventScript_157D05 copyvar 0x8004, 0x8008 copyvar 0x8005, 0x800a - special 253 - special 254 + special sub_804DB68 + special sub_804E174 waitstate msgbox RustboroCity_House1_Text_184F6B, 4 setflag 153 diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc index ff4857852..58cfbec47 100644 --- a/data/scripts/maps/SSTidalCorridor.inc +++ b/data/scripts/maps/SSTidalCorridor.inc @@ -10,7 +10,7 @@ SSTidalCorridor_MapScript2_15FC9A:: @ 815FC9A .2byte 0 SSTidalCorridor_EventScript_15FCBC:: @ 815FCBC - special 203 + special SetSSTidalFlag setvar 0x40b4, 2 lockall playsfx 73 @@ -27,14 +27,14 @@ SSTidalCorridor_EventScript_15FCD2:: @ 815FCD2 end SSTidalRooms_EventScript_15FCE5:: @ 815FCE5 - special 203 + special SetSSTidalFlag setvar 0x40b4, 7 playsfx 73 msgbox SSTidalRooms_Text_199007, 4 return SSTidalRooms_EventScript_15FCF9:: @ 815FCF9 - special 204 + special ResetSSTidalFlag setvar 0x40b4, 4 playsfx 73 msgbox SSTidalRooms_Text_1990F8, 4 @@ -48,7 +48,7 @@ gUnknown_0815FD0D:: @ 815FD0D end SSTidalCorridor_EventScript_15FD24:: @ 815FD24 - special 204 + special ResetSSTidalFlag setvar 0x40b4, 3 lockall playsfx 73 @@ -57,7 +57,7 @@ SSTidalCorridor_EventScript_15FD24:: @ 815FD24 end SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A - special 204 + special ResetSSTidalFlag setvar 0x40b4, 8 lockall playsfx 73 @@ -66,7 +66,7 @@ SSTidalCorridor_EventScript_15FD3A:: @ 815FD3A end SSTidalRooms_EventScript_15FD50:: @ 815FD50 - special 204 + special ResetSSTidalFlag setvar 0x40b4, 8 playsfx 73 msgbox SSTidalRooms_Text_1990B4, 4 @@ -156,7 +156,7 @@ SSTidalCorridor_EventScript_15FE3A:: @ 815FE3A end SSTidalCorridor_EventScript_15FE5B:: @ 815FE5B - special 270 + special sub_80C7958 waitstate end diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc index 196efbb35..22fd5ec56 100644 --- a/data/scripts/maps/SafariZone_Southeast.inc +++ b/data/scripts/maps/SafariZone_Southeast.inc @@ -93,7 +93,7 @@ SafariZone_Southeast_EventScript_16011F:: @ 816011F SafariZone_Southeast_EventScript_160139:: @ 8160139 setvar 0x40a4, 1 - special 206 + special ExitSafariMode warpwalk Route121_SafariZoneEntrance, 255, 2, 5 waitstate end diff --git a/data/scripts/maps/SeafloorCavern_Room9.inc b/data/scripts/maps/SeafloorCavern_Room9.inc index ff8592f7d..71184346f 100644 --- a/data/scripts/maps/SeafloorCavern_Room9.inc +++ b/data/scripts/maps/SeafloorCavern_Room9.inc @@ -64,14 +64,14 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .endif setweather 0 doweather - special 332 + special sub_8081924 waitstate .ifdef SAPPHIRE msgbox UnknownString_81B43C4, 4 .else msgbox SeafloorCavern_Room9_Text_1B4A5A, 4 .endif - special 284 + special WaitWeather waitstate .ifdef SAPPHIRE setvar RESULT, 1 @@ -91,7 +91,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA .endif fanfare 388 playsfx 107 - special 281 + special sub_80818A4 move 0x8004, SeafloorCavern_Room9_Movement_1A0841 move 255, SeafloorCavern_Room9_Movement_1A0841 waitmove 0 @@ -102,11 +102,11 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA pause 60 move 1, SeafloorCavern_Room9_Movement_15DD4C waitmove 0 - special 282 + special sub_80818FC waitstate setvar 0x8004, 1 setvar 0x8005, 1 - special 310 + special sub_810F758 waitstate move 1, SeafloorCavern_Room9_Movement_15DD57 waitmove 0 @@ -114,7 +114,7 @@ SeafloorCavern_Room9_EventScript_15DAFA:: @ 815DAFA pause 4 setvar 0x8004, 2 setvar 0x8005, 2 - special 310 + special sub_810F758 waitstate pause 30 setvar 0x8004, 2 diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc index 16d4c7003..76a930dc0 100644 --- a/data/scripts/maps/SealedChamber_InnerRoom.inc +++ b/data/scripts/maps/SealedChamber_InnerRoom.inc @@ -8,23 +8,23 @@ SealedChamber_InnerRoom_EventScript_15F1E8:: @ 815F1E8 hidebox 0, 0, 29, 19 checkflag 228 jumpeq SealedChamber_InnerRoom_EventScript_15F247 - specialval RESULT, 279 + specialval RESULT, CheckRelicanthWailord compare RESULT, 0 jumpeq SealedChamber_InnerRoom_EventScript_15F247 fadeout 0 playsfx 49 - special 305 + special DoSealedChamberShakingEffect1 waitstate pause 40 - special 315 + special DoSealedChamberShakingEffect2 waitstate playsfx 8 pause 40 - special 315 + special DoSealedChamberShakingEffect2 waitstate playsfx 8 pause 40 - special 315 + special DoSealedChamberShakingEffect2 waitstate playsfx 8 pause 40 diff --git a/data/scripts/maps/SecretBase_YellowCave4.inc b/data/scripts/maps/SecretBase_YellowCave4.inc index 4ccbc2f0e..302bc3930 100644 --- a/data/scripts/maps/SecretBase_YellowCave4.inc +++ b/data/scripts/maps/SecretBase_YellowCave4.inc @@ -11,7 +11,7 @@ SecretBase_RedCave1_MapScript1_15F34C:: @ 815F34C SecretBase_RedCave1_MapScript1_15F34F:: @ 815F34F call SecretBase_RedCave1_EventScript_1A2F3D - special 22 + special sub_80BBFA4 end SecretBase_RedCave1_MapScript2_15F358:: @ 815F358 diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc index 9b822a473..38a1c9a74 100644 --- a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc @@ -3,7 +3,7 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 815E057 .byte 0 ShoalCave_LowTideEntranceRoom_MapScript1_15E05D:: @ 815E05D - special 210 + special UpdateShoalTideFlag checkflag 2106 jumpeq ShoalCave_LowTideEntranceRoom_EventScript_15E06E jump ShoalCave_LowTideEntranceRoom_EventScript_15E072 diff --git a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc index eab522a1f..3078b4625 100644 --- a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc @@ -76,7 +76,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E257:: @ 815E257 compare RESULT, 0 jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 41, 20, 859, 0 - special 142 + special DrawWholeMapView setflag 956 releaseall end @@ -94,7 +94,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E293:: @ 815E293 compare RESULT, 0 jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 41, 10, 859, 0 - special 142 + special DrawWholeMapView setflag 957 releaseall end @@ -107,7 +107,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2C5:: @ 815E2C5 compare RESULT, 0 jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 6, 9, 859, 0 - special 142 + special DrawWholeMapView setflag 958 releaseall end @@ -120,7 +120,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E2F7:: @ 815E2F7 compare RESULT, 0 jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 16, 13, 859, 0 - special 142 + special DrawWholeMapView setflag 959 releaseall end @@ -133,7 +133,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E329:: @ 815E329 compare RESULT, 0 jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 31, 8, 858, 0 - special 142 + special DrawWholeMapView setflag 952 releaseall end @@ -151,7 +151,7 @@ ShoalCave_LowTideInnerRoom_EventScript_15E365:: @ 815E365 compare RESULT, 0 jumpeq ShoalCave_LowTideInnerRoom_EventScript_1A029B setmaptile 14, 26, 858, 0 - special 142 + special DrawWholeMapView setflag 953 releaseall end diff --git a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc index dfcd5b83f..67de2676f 100644 --- a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc @@ -23,7 +23,7 @@ ShoalCave_LowTideLowerRoom_EventScript_15E413:: @ 815E413 compare RESULT, 0 jumpeq ShoalCave_LowTideLowerRoom_EventScript_1A029B setmaptile 18, 2, 858, 0 - special 142 + special DrawWholeMapView setflag 955 releaseall end diff --git a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc index 584a57818..c46a2cb2d 100644 --- a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc +++ b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc @@ -23,7 +23,7 @@ ShoalCave_LowTideStairsRoom_EventScript_15E3B7:: @ 815E3B7 compare RESULT, 0 jumpeq ShoalCave_LowTideStairsRoom_EventScript_1A029B setmaptile 11, 11, 858, 0 - special 142 + special DrawWholeMapView setflag 954 releaseall end diff --git a/data/scripts/maps/SkyPillar_Top.inc b/data/scripts/maps/SkyPillar_Top.inc index b28d89d93..23db6a8ea 100644 --- a/data/scripts/maps/SkyPillar_Top.inc +++ b/data/scripts/maps/SkyPillar_Top.inc @@ -21,7 +21,7 @@ SkyPillar_Top_EventScript_15F316:: @ 815F316 waitpokecry setflag 773 setflag 2145 - special 312 + special StartBattle_Rayquaza waitstate clearflag 2145 release diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc index 6125c4871..48eb5c1df 100644 --- a/data/scripts/maps/SlateportCity.inc +++ b/data/scripts/maps/SlateportCity.inc @@ -66,10 +66,10 @@ SlateportCity_EventScript_14BAE0:: @ 814BAE0 faceplayer bufferfirstpoke 0 msgbox SlateportCity_Text_164682, 4 - specialval RESULT, 292 + specialval RESULT, LeadMonHasEffortRibbon compare RESULT, 1 callif 1, SlateportCity_EventScript_14BB35 - specialval RESULT, 294 + specialval RESULT, GetLeadMonEVCount compare RESULT, 0 callif 1, SlateportCity_EventScript_14BB2B msgbox SlateportCity_Text_164691, 4 @@ -78,7 +78,7 @@ SlateportCity_EventScript_14BAE0:: @ 814BAE0 waitfanfare waittext msgbox SlateportCity_Text_1646FC, 4 - special 293 + special GivLeadMonEffortRibbon release end diff --git a/data/scripts/maps/SlateportCity_ContestLobby.inc b/data/scripts/maps/SlateportCity_ContestLobby.inc index b2cce5312..b1ce50815 100644 --- a/data/scripts/maps/SlateportCity_ContestLobby.inc +++ b/data/scripts/maps/SlateportCity_ContestLobby.inc @@ -11,7 +11,7 @@ SlateportCity_ContestLobby_EventScript_15541D:: @ 815541D setvar CONTEST_RANK, 2 call SlateportCity_ContestLobby_EventScript_1A4E92 call SlateportCity_ContestLobby_EventScript_155448 - special 83 + special sub_80C4BF0 call SlateportCity_ContestLobby_EventScript_15FBDB setvar 0x4088, 3 warp LinkContestRoom1, 255, 7, 5 @@ -25,13 +25,13 @@ SlateportCity_ContestLobby_EventScript_155448:: @ 8155448 playsfx 71 setmaptile 4, 2, 545, 1 setmaptile 4, 3, 609, 1 - special 142 + special DrawWholeMapView move 1, SlateportCity_ContestLobby_Movement_1554CF waitmove 0 playsfx 71 setmaptile 4, 2, 721, 1 setmaptile 4, 3, 729, 1 - special 142 + special DrawWholeMapView pause 20 move 1, SlateportCity_ContestLobby_Movement_1554DC waitmove 0 @@ -128,7 +128,7 @@ SlateportCity_ContestLobby_EventScript_155536:: @ 8155536 @ 815553F lockall - special 259 + special ShowBerryBlenderRecordWindow waitbutton hidebox 0, 0, 29, 19 releaseall diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc index 702e52d84..4161889e1 100644 --- a/data/scripts/maps/SlateportCity_House1.inc +++ b/data/scripts/maps/SlateportCity_House1.inc @@ -13,7 +13,7 @@ SlateportCity_House1_EventScript_15567B:: @ 815567B SlateportCity_House1_EventScript_15569C:: @ 815569C msgbox SlateportCity_House1_Text_17D4DB, 4 - special 159 + special sub_80F9A0C waitstate compare 0x8004, 255 jumpif 5, SlateportCity_House1_EventScript_1556C9 @@ -27,15 +27,15 @@ SlateportCity_House1_EventScript_1556BF:: @ 81556BF end SlateportCity_House1_EventScript_1556C9:: @ 81556C9 - specialval RESULT, 327 + specialval RESULT, ScriptGetPartyMonSpecies compare RESULT, SPECIES_EGG jumpeq SlateportCity_House1_EventScript_15571C - special 124 - special 125 + special sub_80BFAE0 + special sub_80BFB10 compare RESULT, 1 jumpeq SlateportCity_House1_EventScript_155726 - specialval RESULT, 336 - special 124 + specialval RESULT, sub_810F96C + special sub_80BFAE0 compare RESULT, 1 jumpeq SlateportCity_House1_EventScript_155726 msgbox SlateportCity_House1_Text_17D505, 5 @@ -58,8 +58,8 @@ SlateportCity_House1_EventScript_155726:: @ 8155726 SlateportCity_House1_EventScript_155730:: @ 8155730 msgbox SlateportCity_House1_Text_17D580, 4 call SlateportCity_House1_EventScript_1A0678 - specialval RESULT, 123 - special 124 + specialval RESULT, sub_80BF9B4 + special sub_80BFAE0 compare RESULT, 1 jumpeq SlateportCity_House1_EventScript_15575A msgbox SlateportCity_House1_Text_17D63A, 4 diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc index 8f0323f77..0a7466a3b 100644 --- a/data/scripts/maps/SlateportCity_PokemonFanClub.inc +++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc @@ -144,7 +144,7 @@ SlateportCity_PokemonFanClub_EventScript_155998:: @ 8155998 end SlateportCity_PokemonFanClub_EventScript_1559A2:: @ 81559A2 - specialval RESULT, 265 + specialval RESULT, CheckLeadMonCool compare RESULT, 1 callif 1, SlateportCity_PokemonFanClub_EventScript_1559B3 return @@ -154,7 +154,7 @@ SlateportCity_PokemonFanClub_EventScript_1559B3:: @ 81559B3 return SlateportCity_PokemonFanClub_EventScript_1559B9:: @ 81559B9 - specialval RESULT, 266 + specialval RESULT, CheckLeadMonBeauty compare RESULT, 1 callif 1, SlateportCity_PokemonFanClub_EventScript_1559CA return @@ -164,7 +164,7 @@ SlateportCity_PokemonFanClub_EventScript_1559CA:: @ 81559CA return SlateportCity_PokemonFanClub_EventScript_1559D0:: @ 81559D0 - specialval RESULT, 267 + specialval RESULT, CheckLeadMonCute compare RESULT, 1 callif 1, SlateportCity_PokemonFanClub_EventScript_1559E1 return @@ -174,7 +174,7 @@ SlateportCity_PokemonFanClub_EventScript_1559E1:: @ 81559E1 return SlateportCity_PokemonFanClub_EventScript_1559E7:: @ 81559E7 - specialval RESULT, 268 + specialval RESULT, CheckLeadMonSmart compare RESULT, 1 callif 1, SlateportCity_PokemonFanClub_EventScript_1559F8 return @@ -184,7 +184,7 @@ SlateportCity_PokemonFanClub_EventScript_1559F8:: @ 81559F8 return SlateportCity_PokemonFanClub_EventScript_1559FE:: @ 81559FE - specialval RESULT, 269 + specialval RESULT, CheckLeadMonTough compare RESULT, 1 callif 1, SlateportCity_PokemonFanClub_EventScript_155A0F return @@ -199,7 +199,7 @@ SlateportCity_PokemonFanClub_EventScript_155A15:: @ 8155A15 checkflag 278 jumpeq SlateportCity_PokemonFanClub_EventScript_155A75 msgbox SlateportCity_PokemonFanClub_Text_17DE6B, 4 - specialval RESULT, 230 + specialval RESULT, GetLeadMonFriendshipScore compare RESULT, 4 jumpif 4, SlateportCity_PokemonFanClub_EventScript_155A3A release diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc index 3d9c2dc93..0c22fbc37 100644 --- a/data/scripts/maps/SootopolisCity.inc +++ b/data/scripts/maps/SootopolisCity.inc @@ -91,7 +91,7 @@ SootopolisCity_EventScript_14D19F:: @ 814D19F lock faceplayer checkdailyflags - special 148 + special GetPlayerBigGuyGirlString checkflag 2258 jumpeq SootopolisCity_EventScript_14D241 msgbox SootopolisCity_Text_1C63F2, 4 diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc index e28ab4547..32bf4d619 100644 --- a/data/scripts/maps/SootopolisCity_Gym_1F.inc +++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc @@ -15,7 +15,7 @@ SootopolisCity_Gym_1F_MapScript1_15AF22:: @ 815AF22 SootopolisCity_Gym_1F_MapScript1_15AF25:: @ 815AF25 call SootopolisCity_Gym_1F_EventScript_15AF2E - special 309 + special sub_8069D78 end SootopolisCity_Gym_1F_EventScript_15AF2E:: @ 815AF2E @@ -51,7 +51,7 @@ SootopolisCity_Gym_1F_EventScript_15AFA8:: @ 815AFA8 pause 40 playsfx 40 call SootopolisCity_Gym_1F_EventScript_15AF2E - special 142 + special DrawWholeMapView end SootopolisCity_Gym_1F_EventScript_15AFBC:: @ 815AFBC @@ -59,7 +59,7 @@ SootopolisCity_Gym_1F_EventScript_15AFBC:: @ 815AFBC pause 40 playsfx 40 call SootopolisCity_Gym_1F_EventScript_15AF2E - special 142 + special DrawWholeMapView end SootopolisCity_Gym_1F_EventScript_15AFD0:: @ 815AFD0 @@ -67,7 +67,7 @@ SootopolisCity_Gym_1F_EventScript_15AFD0:: @ 815AFD0 pause 40 playsfx 40 call SootopolisCity_Gym_1F_EventScript_15AF2E - special 142 + special DrawWholeMapView end SootopolisCity_Gym_1F_EventScript_15AFE4:: @ 815AFE4 diff --git a/data/scripts/maps/SootopolisCity_House8.inc b/data/scripts/maps/SootopolisCity_House8.inc index c52965124..9d7618316 100644 --- a/data/scripts/maps/SootopolisCity_House8.inc +++ b/data/scripts/maps/SootopolisCity_House8.inc @@ -2,16 +2,16 @@ SootopolisCity_House8_MapScripts:: @ 815B400 .byte 0 SootopolisCity_House8_EventScript_15B401:: @ 815B401 - special 119 + special GetShroomishSizeRecordInfo lock faceplayer msgbox SootopolisCity_House8_Text_1900F7, 4 - special 159 + special sub_80F9A0C waitstate copyvar RESULT, 0x8004 compare RESULT, 255 jumpeq SootopolisCity_House8_EventScript_15B448 - special 120 + special CompareShroomishSize compare RESULT, 1 jumpeq SootopolisCity_House8_EventScript_15B452 compare RESULT, 2 @@ -51,16 +51,16 @@ SootopolisCity_House8_EventScript_15B488:: @ 815B488 end SootopolisCity_House8_EventScript_15B492:: @ 815B492 - special 121 + special GetBarboachSizeRecordInfo lock faceplayer msgbox SootopolisCity_House8_Text_190431, 4 - special 159 + special sub_80F9A0C waitstate copyvar RESULT, 0x8004 compare RESULT, 255 jumpeq SootopolisCity_House8_EventScript_15B4D9 - special 122 + special CompareBarboachSize compare RESULT, 1 jumpeq SootopolisCity_House8_EventScript_15B4E3 compare RESULT, 2 @@ -100,14 +100,14 @@ SootopolisCity_House8_EventScript_15B519:: @ 815B519 end SootopolisCity_House8_EventScript_15B523:: @ 815B523 - special 119 + special GetShroomishSizeRecordInfo lockall msgbox SootopolisCity_House8_Text_1903C9, 4 releaseall end SootopolisCity_House8_EventScript_15B531:: @ 815B531 - special 121 + special GetBarboachSizeRecordInfo lockall msgbox SootopolisCity_House8_Text_1906BE, 4 releaseall diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc index d3b944f29..3adf3545f 100644 --- a/data/scripts/maps/SouthernIsland_Interior.inc +++ b/data/scripts/maps/SouthernIsland_Interior.inc @@ -49,7 +49,7 @@ SouthernIsland_Interior_EventScript_160BA7:: @ 8160BA7 checkflag 2131 jumpif 0, SouthernIsland_Interior_EventScript_160C08 setflag 206 - special 275 + special SpawnCameraDummy move 127, SouthernIsland_Interior_Movement_160C12 waitmove 0 pause 50 @@ -63,11 +63,11 @@ SouthernIsland_Interior_EventScript_160BA7:: @ 8160BA7 move 2, SouthernIsland_Interior_Movement_160C22 waitmove 0 pause 50 - special 276 + special RemoveCameraDummy setwildbattle SPECIES_LATIAS_OR_LATIOS, 50, ITEM_SOUL_DEW setflag 911 setflag 2145 - special 323 + special StartBattle_SouthernIsland waitstate clearflag 2145 releaseall diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc index f4f1fe61c..cbd782f35 100644 --- a/data/scripts/maps/UnknownMap_25_34.inc +++ b/data/scripts/maps/UnknownMap_25_34.inc @@ -12,7 +12,7 @@ LinkContestRoom1_MapScript1_15F595:: @ 815F595 end LinkContestRoom1_EventScript_15F5A5:: @ 815F5A5 - special 326 + special ScriptGetMultiplayerId compare RESULT, 0 callif 1, LinkContestRoom1_EventScript_15F5E0 compare RESULT, 1 @@ -127,7 +127,7 @@ LinkContestRoom1_EventScript_15F6DB:: @ 815F6DB LinkContestRoom1_EventScript_15F6E6:: @ 815F6E6 setvar RESULT, 32 - special 340 + special ScriptRandom addvar RESULT, 1 switch RESULT case 1, LinkContestRoom1_EventScript_15F859 diff --git a/data/scripts/maps/VerdanturfTown_ContestLobby.inc b/data/scripts/maps/VerdanturfTown_ContestLobby.inc index 066ecbdce..8fd4016d1 100644 --- a/data/scripts/maps/VerdanturfTown_ContestLobby.inc +++ b/data/scripts/maps/VerdanturfTown_ContestLobby.inc @@ -11,7 +11,7 @@ VerdanturfTown_ContestLobby_EventScript_153D76:: @ 8153D76 setvar CONTEST_RANK, 0 call VerdanturfTown_ContestLobby_EventScript_1A4E92 call VerdanturfTown_ContestLobby_EventScript_153DA1 - special 83 + special sub_80C4BF0 call VerdanturfTown_ContestLobby_EventScript_15FBDB setvar 0x4088, 1 warp LinkContestRoom1, 255, 7, 5 @@ -25,13 +25,13 @@ VerdanturfTown_ContestLobby_EventScript_153DA1:: @ 8153DA1 playsfx 71 setmaptile 4, 2, 545, 1 setmaptile 4, 3, 609, 1 - special 142 + special DrawWholeMapView move 1, VerdanturfTown_ContestLobby_Movement_153E28 waitmove 0 playsfx 71 setmaptile 4, 2, 721, 1 setmaptile 4, 3, 729, 1 - special 142 + special DrawWholeMapView pause 20 move 1, VerdanturfTown_ContestLobby_Movement_153E35 waitmove 0 @@ -122,7 +122,7 @@ VerdanturfTown_ContestLobby_EventScript_153E80:: @ 8153E80 VerdanturfTown_ContestLobby_EventScript_153E89:: @ 8153E89 lockall - special 259 + special ShowBerryBlenderRecordWindow waitbutton hidebox 0, 0, 29, 19 releaseall diff --git a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc index 2dc2e1355..5453fb42c 100644 --- a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc +++ b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc @@ -5,7 +5,7 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_154030:: @ 8154030 lock faceplayer msgbox VerdanturfTown_FriendshipRatersHouse_Text_178A9C, 4 - specialval RESULT, 230 + specialval RESULT, GetLeadMonFriendshipScore switch RESULT case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_154093 case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_15409D diff --git a/data/scripts/maps/VictoryRoad_1F.inc b/data/scripts/maps/VictoryRoad_1F.inc index b1f6e732b..f64ca20ab 100644 --- a/data/scripts/maps/VictoryRoad_1F.inc +++ b/data/scripts/maps/VictoryRoad_1F.inc @@ -93,7 +93,7 @@ VictoryRoad_1F_EventScript_15DF28:: @ 815DF28 VictoryRoad_1F_EventScript_15DF31:: @ 815DF31 trainerbattle 0, OPPONENT_WALLY_3, 0, VictoryRoad_1F_Text_1979BA, VictoryRoad_1F_Text_197A23 - specialval RESULT, 57 + specialval RESULT, sub_8082C68 compare RESULT, 1 jumpeq VictoryRoad_1F_EventScript_15DF58 msgbox VictoryRoad_1F_Text_197A47, 6 diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc index 15d4b2a40..5fd68beca 100644 --- a/data/scripts/mystery_event_club.inc +++ b/data/scripts/mystery_event_club.inc @@ -44,7 +44,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_1B1BB1:: @ 81B1BB1 PetalburgCity_PokemonCenter_1F_EventScript_1B1BBB:: @ 81B1BBB setvar 0x8004, 0 - special 96 + special sub_80EB7C4 waittext pause 80 msgbox PetalburgCity_PokemonCenter_1F_Text_1B2137, 4 diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index 9db432c2c..ca4b2bdb9 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -107,14 +107,14 @@ LittlerootTown_BrendansHouse_2F_EventScript_1B6A61:: @ 81B6A61 LittlerootTown_BrendansHouse_2F_EventScript_1B6A91:: @ 81B6A91 inccounter GAME_STAT_CHECKED_CLOCK fadescreen 1 - special 155 + special sub_810D6B8 waitstate releaseall end LittlerootTown_BrendansHouse_2F_EventScript_1B6A9B:: @ 81B6A9B fadescreen 1 - special 154 + special StartWallClock waitstate return @@ -221,7 +221,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1B6BBE:: @ 81B6BBE waitmove 0 msgbox LittlerootTown_BrendansHouse_1F_Text_172841, 4 fadedefault - special 62 + special TurnOffTVScreen setflag 2096 pause 35 return diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index 2cb283173..e1add8734 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -49,11 +49,11 @@ FallarborTown_ContestLobby_EventScript_1B76A1:: @ 81B76A1 checkitem ITEM_POKEBLOCK_CASE, 1 compare RESULT, 0 jumpeq FallarborTown_ContestLobby_EventScript_1B7780 - specialval RESULT, 49 + specialval RESULT, PlayerHasBerries compare RESULT, 0 jumpeq FallarborTown_ContestLobby_EventScript_1B770E msgbox FallarborTown_ContestLobby_Text_1B6E9D, 4 - specialval RESULT, 160 + specialval RESULT, sub_810CA00 compare RESULT, 65535 jumpif 5, FallarborTown_ContestLobby_EventScript_1B76EF compare RESULT, 65535 @@ -94,7 +94,7 @@ FallarborTown_ContestLobby_EventScript_1B7734:: @ 81B7734 FallarborTown_ContestLobby_EventScript_1B7742:: @ 81B7742 copyvar 0x8004, 0x8009 fadescreen 1 - special 161 + special sub_804E538 waitstate releaseall end @@ -148,7 +148,7 @@ VerdanturfTown_ContestLobby_EventScript_1B77B6:: @ 81B77B6 lock faceplayer msgbox FallarborTown_ContestLobby_Text_1B742F, 4 - specialval RESULT, 49 + specialval RESULT, PlayerHasBerries compare RESULT, 1 jumpeq FallarborTown_ContestLobby_EventScript_1B77DC compare RESULT, 0 @@ -208,13 +208,13 @@ LilycoveCity_ContestLobby_EventScript_1B783B:: @ 81B783B SlateportCity_ContestLobby_EventScript_1B783B:: @ 81B783B VerdanturfTown_ContestLobby_EventScript_1B783B:: @ 81B783B lockall - specialval RESULT, 49 + specialval RESULT, PlayerHasBerries compare RESULT, 0 jumpeq FallarborTown_ContestLobby_EventScript_1B7897 checkitem ITEM_POKEBLOCK_CASE, 1 compare RESULT, 0 jumpeq FallarborTown_ContestLobby_EventScript_1B7942 - specialval RESULT, 160 + specialval RESULT, sub_810CA00 compare RESULT, 65535 jumpif 5, FallarborTown_ContestLobby_EventScript_1B7878 compare RESULT, 65535 @@ -240,7 +240,7 @@ FallarborTown_ContestLobby_EventScript_1B78A1:: @ 81B78A1 jumpeq FallarborTown_ContestLobby_EventScript_1B7936 message FallarborTown_ContestLobby_Text_1B7304 waittext - special 36 + special sub_8083614 waitstate compare RESULT, 1 jumpeq FallarborTown_ContestLobby_EventScript_1B7980 @@ -276,7 +276,7 @@ FallarborTown_ContestLobby_EventScript_1B791D:: @ 81B791D disappear 239 disappear 238 disappear 237 - special 161 + special sub_804E538 waitstate releaseall end @@ -296,35 +296,35 @@ FallarborTown_ContestLobby_EventScript_1B7942:: @ 81B7942 end FallarborTown_ContestLobby_EventScript_1B794C:: @ 81B794C - special 31 + special CloseLink msgbox FallarborTown_ContestLobby_Text_1A4A30, 4 releaseall end FallarborTown_ContestLobby_EventScript_1B7959:: @ 81B7959 - special 31 + special CloseLink msgbox FallarborTown_ContestLobby_Text_1A4B1D, 4 releaseall end FallarborTown_ContestLobby_EventScript_1B7966:: @ 81B7966 - special 31 + special CloseLink msgbox FallarborTown_ContestLobby_Text_1A10EB, 4 releaseall end FallarborTown_ContestLobby_EventScript_1B7973:: @ 81B7973 - special 31 + special CloseLink msgbox FallarborTown_ContestLobby_Text_1A4A85, 4 releaseall end FallarborTown_ContestLobby_EventScript_1B7980:: @ 81B7980 fadescreen 1 - specialval RESULT, 37 + specialval RESULT, GetLinkPartnerNames copyvar 0x8008, RESULT copyvar 0x8004, 0x8008 - special 38 + special SpawnBerryBlenderLinkPlayerSprites jump FallarborTown_ContestLobby_EventScript_1B799A end diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index c8d519038..03293115b 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -1,12 +1,12 @@ gUnknown_081C340A:: @ 81C340A setvar 0x40a4, 1 - special 206 + special ExitSafariMode warp3 Route121_SafariZoneEntrance, 255, 2, 5 end EventScript_1C341B: @ 81C341B setvar 0x40a4, 1 - special 206 + special ExitSafariMode warp Route121_SafariZoneEntrance, 255, 2, 5 waitstate end @@ -42,7 +42,7 @@ gUnknown_081C3459:: @ 81C3459 gUnknown_081C346A:: @ 81C346A lockall - special 207 + special SafariZoneGetPokeblockNameInFeeder compare RESULT, -1 jumpif 5, EventScript_1C34A9 msgbox UnknownString_81C354E, 5 @@ -53,7 +53,7 @@ gUnknown_081C346A:: @ 81C346A EventScript_1C348E: fadescreen 1 - special 208 + special sub_810BAF4 waitstate compare RESULT, -1 jumpif 5, EventScript_1C34A0 diff --git a/data/scripts/storyteller.inc b/data/scripts/storyteller.inc index c44480e2f..eba94e698 100644 --- a/data/scripts/storyteller.inc +++ b/data/scripts/storyteller.inc @@ -8,22 +8,22 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B0816:: @ 81B0816 msgbox MauvilleCity_PokemonCenter_1F_Text_1AECC6, 5 compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0914 - specialval RESULT, 107 + specialval RESULT, sub_80F889C compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B08D3 MauvilleCity_PokemonCenter_1F_EventScript_1B084F:: @ 81B084F message MauvilleCity_PokemonCenter_1F_Text_1AED35 waittext - special 109 + special sub_80F8874 waitstate compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0883 setvar 0x8008, 1 - special 108 + special sub_80F8888 waittext waitbutton - specialval RESULT, 110 + specialval RESULT, sub_80F88AC compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0893 jump MauvilleCity_PokemonCenter_1F_EventScript_1B0909 @@ -40,10 +40,10 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B0893:: @ 81B0893 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B084F MauvilleCity_PokemonCenter_1F_EventScript_1B08AE:: @ 81B08AE - specialval RESULT, 112 + specialval RESULT, sub_80F88E0 compare RESULT, 1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B091F - specialval RESULT, 107 + specialval RESULT, sub_80F889C compare RESULT, 4 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B091F jump MauvilleCity_PokemonCenter_1F_EventScript_1B08DB @@ -55,7 +55,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1B08DB:: @ 81B08DB msgbox MauvilleCity_PokemonCenter_1F_Text_1AEEB4, 5 compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0914 - specialval RESULT, 111 + specialval RESULT, sub_80F88FC compare RESULT, 1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1B0909 msgbox MauvilleCity_PokemonCenter_1F_Text_1AEF49, 4 diff --git a/data/scripts/trader.inc b/data/scripts/trader.inc index b3a302516..b52c8a2dc 100644 --- a/data/scripts/trader.inc +++ b/data/scripts/trader.inc @@ -4,7 +4,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AEBAB:: @ 81AEBAB msgbox MauvilleCity_PokemonCenter_1F_Text_1AE88F, 5 compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEBDA - special 114 + special sub_8109C44 compare RESULT, 1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEBE3 message MauvilleCity_PokemonCenter_1F_Text_1AE910 @@ -21,7 +21,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AEBE3:: @ 81AEBE3 end MauvilleCity_PokemonCenter_1F_EventScript_1AEBEC:: @ 81AEBEC - special 113 + special sub_8109E34 waitstate compare 0x8004, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEC2D @@ -30,7 +30,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AEBEC:: @ 81AEBEC msgbox MauvilleCity_PokemonCenter_1F_Text_1AE97C, 5 compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEC42 - special 115 + special sub_8109C58 compare RESULT, 1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEC4E jump MauvilleCity_PokemonCenter_1F_EventScript_1AEC57 @@ -58,19 +58,19 @@ MauvilleCity_PokemonCenter_1F_EventScript_1AEC4E:: @ 81AEC4E MauvilleCity_PokemonCenter_1F_EventScript_1AEC57:: @ 81AEC57 msgbox MauvilleCity_PokemonCenter_1F_Text_1AE9F8, 4 - special 117 + special sub_8109CF0 waitstate compare 0x8006, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AECA6 compare 0x8006, 65535 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AECAF - special 116 + special sub_8109C90 compare RESULT, 1 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AECBD msgbox MauvilleCity_PokemonCenter_1F_Text_1AEA9B, 5 compare RESULT, 0 jumpeq MauvilleCity_PokemonCenter_1F_EventScript_1AEC57 - special 118 + special sub_8109DE0 msgbox MauvilleCity_PokemonCenter_1F_Text_1AEAFB, 2 end diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc index 2b317e725..1f8956811 100644 --- a/data/scripts/tv.inc +++ b/data/scripts/tv.inc @@ -1,8 +1,8 @@ Event_TV:: @ 81A6E72 lockall inccounter GAME_STAT_WATCHED_TV - special 75 - specialval RESULT, 73 + special sub_80C2014 + specialval RESULT, CheckForBigMovieOrEmergencyNewsOnTV compare RESULT, 2 jumpeq EventScript_1A6F01 compare RESULT, 1 @@ -11,29 +11,29 @@ Event_TV:: @ 81A6E72 jumpif 0, EventScript_1A6EF1 checkflag 2097 jumpeq EventScript_1A6EF1 - specialval RESULT, 176 + specialval RESULT, IsTVShowInSearchOfTrainersAiring compare RESULT, 1 jumpeq EventScript_1A6F66 jump EventScript_1A6F50 end EventScript_1A6EBB: - specialval 0x8004, 65 + specialval 0x8004, special_0x44 compare 0x8004, 255 jumpeq EventScript_1A6F3F - specialval RESULT, 71 + specialval RESULT, special_0x4a compare RESULT, 255 jumpeq EventScript_1A6F3F copyvar 0x8004, RESULT - specialval RESULT, 66 + specialval RESULT, sub_80BDA0C compare RESULT, 0 jumpif 5, EventScript_1A6F21 end EventScript_1A6EF1: - special 74 + special GetMomOrDadStringForTVMessage msgbox UnknownString_81A0E68, 4 - special 62 + special TurnOffTVScreen releaseall end @@ -48,15 +48,15 @@ EventScript_1A6F0B: .else msgbox UnknownString_8172C50, 4 .endif - special 297 + special InitRoamer clearflag 2141 setflag 255 - special 62 + special TurnOffTVScreen releaseall end EventScript_1A6F21: - special 63 + special DoTVShow waittext waitbutton compare RESULT, 1 @@ -65,19 +65,19 @@ EventScript_1A6F21: end EventScript_1A6F37: - special 62 + special TurnOffTVScreen setflag 2097 releaseall end EventScript_1A6F3F: - special 74 + special GetMomOrDadStringForTVMessage msgbox UnknownString_81A0E68, 4 jump EventScript_1A6F37 end EventScript_1A6F50: - special 64 + special sub_80BECE8 compare RESULT, 0 jumpeq EventScript_1A6EBB waittext @@ -86,7 +86,7 @@ EventScript_1A6F50: end EventScript_1A6F66: - special 175 + special DoTVShowInSearchOfTrainers waittext waitbutton compare RESULT, 0 diff --git a/data/specials.inc b/data/specials.inc index f7aa3456a..0eb6b742d 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -1,347 +1,354 @@ +.macro def_special ptr +.set SPECIAL_\ptr, __special__ +.set __special__, __special__ + 1 + .4byte \ptr + .endm + +.set __special__, 0 .align 2 gSpecials:: - .4byte HealPlayerParty - .4byte sub_8068FEC - .4byte sub_808102C - .4byte sub_80810DC - .4byte sub_80839A4 - .4byte sub_80839D0 - .4byte sub_80BB8CC - .4byte sub_80BB63C - .4byte sub_80BBAF0 - .4byte sub_80BC440 - .4byte SecretBasePC_PackUp - .4byte sub_80BC114 - .4byte sub_80BC56C - .4byte sub_80BC5BC - .4byte SecretBasePC_Decoration - .4byte SecretBasePC_Registry - .4byte sub_80BCE1C - .4byte sub_80BCE90 - .4byte sub_80BBDD0 - .4byte sub_80FF474 - .4byte sub_8100B20 - .4byte sub_80BB70C - .4byte sub_80BBFA4 - .4byte sub_8100A7C - .4byte sub_80BBC78 - .4byte sub_80BCE4C - .4byte sub_80C683C - .4byte sub_80B929C - .4byte sub_808347C - .4byte sub_80834E4 - .4byte sub_808350C - .4byte CloseLink - .4byte sub_8083B90 - .4byte sub_8083B5C - .4byte sub_8083B80 - .4byte sub_8083820 - .4byte sub_8083614 - .4byte GetLinkPartnerNames - .4byte SpawnBerryBlenderLinkPlayerSprites - .4byte SavePlayerParty - .4byte LoadPlayerParty - .4byte sub_80C5568 - .4byte sub_8083BDC - .4byte FieldObjectInteractionGetBerryTreeData - .4byte sub_80B4EE4 - .4byte FieldObjectInteractionPlantBerryTree - .4byte FieldObjectInteractionPickBerryTree - .4byte FieldObjectInteractionRemoveBerryTree - .4byte FieldObjectInteractionWaterBerryTree - .4byte PlayerHasBerries - .4byte IsEnigmaBerryValid - .4byte sub_8082558 - .4byte sub_80826D8 - .4byte sub_8082718 - .4byte sub_8082564 - .4byte sub_80847C8 - .4byte PlayTrainerEncounterMusic - .4byte sub_8082C68 - .4byte sub_8082C9C - .4byte sub_80826B0 - .4byte ShowPokemonStorageSystem - .4byte CheckForAlivePartyMons - .4byte TurnOffTVScreen - .4byte DoTVShow - .4byte sub_80BECE8 - .4byte special_0x44 - .4byte sub_80BDA0C - .4byte sub_80BF2C4 - .4byte sub_80BDE48 - .4byte sub_80BF544 - .4byte SetContestCategoryStringVarForInterview - .4byte special_0x4a - .4byte sub_80BF974 - .4byte CheckForBigMovieOrEmergencyNewsOnTV - .4byte GetMomOrDadStringForTVMessage - .4byte sub_80C2014 - .4byte sub_80C47C0 - .4byte sub_80C496C - .4byte sub_80C4C28 - .4byte sub_80C47F0 - .4byte sub_80C4858 - .4byte sub_80C4C64 - .4byte sub_80C4758 - .4byte sub_80C4BF0 - .4byte sub_80C43F4 - .4byte sub_80C4D80 - .4byte sub_80C4F70 - .4byte sub_80C47A0 - .4byte sub_80C4440 - .4byte sub_80C44C0 - .4byte sub_80C5044 - .4byte GiveMonArtistRibbon - .4byte sub_808363C - .4byte InitSaveDialog - .4byte DoWateringBerryTreeAnim - .4byte sub_80E60D8 - .4byte sub_80EB7C4 - .4byte sub_80F7B14 - .4byte sub_80F7B2C - .4byte sub_80F7B40 - .4byte sub_80F7C70 - .4byte sub_80F7C84 - .4byte sub_80F7C90 - .4byte sub_80F7C54 - .4byte sub_80F83D0 - .4byte sub_80F7CF4 - .4byte sub_80F7CC8 - .4byte sub_80F889C - .4byte sub_80F8888 - .4byte sub_80F8874 - .4byte sub_80F88AC - .4byte sub_80F88FC - .4byte sub_80F88E0 - .4byte sub_8109E34 - .4byte sub_8109C44 - .4byte sub_8109C58 - .4byte sub_8109C90 - .4byte sub_8109CF0 - .4byte sub_8109DE0 - .4byte GetShroomishSizeRecordInfo - .4byte CompareShroomishSize - .4byte GetBarboachSizeRecordInfo - .4byte CompareBarboachSize - .4byte sub_80BF9B4 - .4byte sub_80BFAE0 - .4byte sub_80BFB10 - .4byte sub_80FA5BC - .4byte sub_80FA5E4 - .4byte sub_80EB83C - .4byte sub_80FA648 - .4byte SwapRegisteredBike - .4byte CalculatePlayerPartyCount - .4byte sub_8095B6C - .4byte sub_8095C10 - .4byte sub_80C4CF8 - .4byte sub_80C4CEC - .4byte sub_80C4C78 - .4byte sub_80C4D50 - .4byte ShowContestWinner - .4byte MauvilleGymSpecial2 - .4byte MauvilleGymSpecial1 - .4byte ShowFieldMessageStringVar4 - .4byte DrawWholeMapView - .4byte StorePlayerCoordsInVars - .4byte MauvilleGymSpecial3 - .4byte PetalburgGymSpecial1 - .4byte PetalburgGymSpecial2 - .4byte GetPlayerTrainerIdOnesDigit - .4byte GetPlayerBigGuyGirlString - .4byte GetRivalSonDaughterString - .4byte SetFlagInVar - .4byte CableCarWarp - .4byte sub_8123218 - .4byte sub_8053E90 - .4byte StartWallClock - .4byte sub_810D6B8 - .4byte ChooseStarter - .4byte StartBattle_WallyTutorial - .4byte sub_80BF9F8 - .4byte sub_80F9A0C - .4byte sub_810CA00 - .4byte sub_804E538 - .4byte PlayRoulette - .4byte sub_810FD60 - .4byte sub_810FCB0 - .4byte sub_810FDAC - .4byte sub_810FA74 - .4byte sub_810FCE8 - .4byte sub_810FF48 - .4byte sub_810FAA0 - .4byte sub_810FF60 - .4byte RockSmashWildEncounter - .4byte GabbyAndTyGetBattleNum - .4byte sub_80BDC14 - .4byte GabbyAndTyBeforeInterview - .4byte DoTVShowInSearchOfTrainers - .4byte IsTVShowInSearchOfTrainersAiring - .4byte GabbyAndTyGetLastQuote - .4byte sub_80BDD18 - .4byte GabbyAndTySetScriptVarsToFieldObjectLocalIds - .4byte sub_810E300 - .4byte sp0B5_daycare - .4byte sp0B6_daycare - .4byte sub_8041E7C - .4byte sp0B8_daycare - .4byte sp0B9_daycare_relationship_comment - .4byte sub_8042328 - .4byte Daycare_SendPokemon_Special - .4byte ChooseSendDaycareMon - .4byte ShowDaycareLevelMenu - .4byte sub_80417B8 - .4byte sub_8041770 - .4byte sub_8041648 - .4byte ScriptHatchMon - .4byte EggHatch - .4byte sub_8042B4C - .4byte ShowLinkBattleRecords - .4byte sub_80B7CE8 - .4byte sub_80B7D0C - .4byte ExecuteWhiteOut - .4byte sp0C8_whiteout_maybe - .4byte RotatingGate_InitPuzzle - .4byte RotatingGate_InitPuzzleAndGraphics - .4byte SetSSTidalFlag - .4byte ResetSSTidalFlag - .4byte EnterSafariMode - .4byte ExitSafariMode - .4byte SafariZoneGetPokeblockNameInFeeder - .4byte sub_810BAF4 - .4byte IsMirageIslandPresent - .4byte UpdateShoalTideFlag - .4byte InitBirchState - .4byte ScriptGetPokedexInfo - .4byte ShowPokedexRatingMessage - .4byte DoPCTurnOnEffect - .4byte DoPCTurnOffEffect - .4byte SetDepartmentStoreFloorVar - .4byte DoLotteryCornerComputerEffect - .4byte EndLotteryCornerComputerEffect - .4byte sub_80F9A4C - .4byte sub_80F9EEC - .4byte sub_80FA0DC - .4byte sub_80F9F84 - .4byte sub_80F9F3C - .4byte sub_8132670 - .4byte GetRecordedCyclingRoadResults - .4byte BeginCyclingRoadChallenge - .4byte GetPlayerAvatarBike - .4byte FinishCyclingRoadChallenge - .4byte UpdateCyclingRoadState - .4byte GetLeadMonFriendshipScore - .4byte sub_8134548 - .4byte sub_81347F8 - .4byte CheckPartyBattleTowerBanlist - .4byte sub_8135474 - .4byte sub_81360C0 - .4byte sub_813556C - .4byte sub_8135668 - .4byte sub_81358A4 - .4byte sub_8135A14 - .4byte sub_8135BA0 - .4byte sub_8135C38 - .4byte sub_8135D84 - .4byte sub_8135DEC - .4byte sub_8135E50 - .4byte ChooseBattleTowerPlayerParty - .4byte sub_813601C - .4byte sub_810F404 - .4byte ReducePlayerPartyToThree - .4byte BedroomPC - .4byte PlayerPC - .4byte FieldShowRegionMap - .4byte sub_804D89C - .4byte sub_804DB68 - .4byte sub_804E174 - .4byte sub_804DB2C - .4byte GetWeekCount - .4byte RetrieveLotteryNumber - .4byte PickLotteryCornerTicket - .4byte ShowBerryBlenderRecordWindow - .4byte ResetTrickHouseEndRoomFlag - .4byte SetTrickHouseEndRoomFlag - .4byte TryCreatePCMenu - .4byte AccessHallOfFamePC - .4byte sub_810D6A4 - .4byte CheckLeadMonCool - .4byte CheckLeadMonBeauty - .4byte CheckLeadMonCute - .4byte CheckLeadMonSmart - .4byte CheckLeadMonTough - .4byte sub_80C7958 - .4byte DoSoftReset - .4byte GameClear - .4byte sub_810EBEC - .4byte ShowGlassWorkshopMenu - .4byte SpawnCameraDummy - .4byte RemoveCameraDummy - .4byte GetPokeblockNameByMonNature - .4byte GetSecretBaseNearbyMapName - .4byte CheckRelicanthWailord - .4byte DoBrailleWait - .4byte sub_80818A4 - .4byte sub_80818FC - .4byte ShowBattleTowerRecords - .4byte WaitWeather - .4byte sub_810F414 - .4byte sub_810F424 - .4byte player_get_direction_lower_nybble - .4byte sub_810F488 - .4byte sub_810F4B0 - .4byte sub_810F4D4 - .4byte sub_810F4FC - .4byte LeadMonHasEffortRibbon - .4byte GivLeadMonEffortRibbon - .4byte GetLeadMonEVCount - .4byte sub_8064EAC - .4byte sub_8064ED4 - .4byte InitRoamer - .4byte sub_810F5BC - .4byte IsGrassTypeInParty - .4byte sub_8081334 - .4byte PutZigzagoonInPlayerParty - .4byte IsStarterInParty - .4byte sub_80BC224 - .4byte CheckFreePokemonStorageSpace - .4byte DoSealedChamberShakingEffect1 - .4byte sub_810E944 - .4byte GetShieldToyTVDecorationInfo - .4byte IsPokerusInParty - .4byte sub_8069D78 - .4byte sub_810F758 - .4byte StartBattle_GroudonKyogre - .4byte StartBattle_Rayquaza - .4byte StartBattle_Regi - .4byte sub_8082524 - .4byte DoSealedChamberShakingEffect2 - .4byte sub_810F828 - .4byte sub_807E25C - .4byte sp13E_warp_to_last_warp - .4byte sp13F_fall_to_last_warp - .4byte ShowContestEntryMonPic - .4byte sub_80C5164 - .4byte sub_8134AB4 - .4byte StartBattle_SouthernIsland - .4byte SetRoute119Weather - .4byte SetRoute123Weather - .4byte ScriptGetMultiplayerId - .4byte ScriptGetPartyMonSpecies - .4byte sub_80FA148 - .4byte sub_810F8FC - .4byte sub_80BC50C - .4byte LoadPlayerBag - .4byte sub_8081924 - .4byte sub_810F950 - .4byte sub_810F908 - .4byte sub_8090FC0 - .4byte sub_810F96C - .4byte sub_810F9AC - .4byte sub_813610C - .4byte GetNameOfEnigmaBerryInPlayerParty - .4byte ScriptRandom - .4byte sub_80835D8 + def_special HealPlayerParty + def_special SetCableClubWarp + def_special DoCableClubWarp + def_special sub_80810DC + def_special sub_80839A4 + def_special sub_80839D0 + def_special sub_80BB8CC + def_special sub_80BB63C + def_special sub_80BBAF0 + def_special sub_80BC440 + def_special SecretBasePC_PackUp + def_special sub_80BC114 + def_special sub_80BC56C + def_special sub_80BC5BC + def_special SecretBasePC_Decoration + def_special SecretBasePC_Registry + def_special sub_80BCE1C + def_special sub_80BCE90 + def_special sub_80BBDD0 + def_special sub_80FF474 + def_special sub_8100B20 + def_special sub_80BB70C + def_special sub_80BBFA4 + def_special sub_8100A7C + def_special sub_80BBC78 + def_special sub_80BCE4C + def_special sub_80C683C + def_special sub_80B929C + def_special sub_808347C + def_special sub_80834E4 + def_special sub_808350C + def_special CloseLink + def_special sub_8083B90 + def_special sub_8083B5C + def_special sub_8083B80 + def_special sub_8083820 + def_special sub_8083614 + def_special GetLinkPartnerNames + def_special SpawnBerryBlenderLinkPlayerSprites + def_special SavePlayerParty + def_special LoadPlayerParty + def_special sub_80C5568 + def_special sub_8083BDC + def_special FieldObjectInteractionGetBerryTreeData + def_special sub_80B4EE4 + def_special FieldObjectInteractionPlantBerryTree + def_special FieldObjectInteractionPickBerryTree + def_special FieldObjectInteractionRemoveBerryTree + def_special FieldObjectInteractionWaterBerryTree + def_special PlayerHasBerries + def_special IsEnigmaBerryValid + def_special sub_8082558 + def_special sub_80826D8 + def_special sub_8082718 + def_special sub_8082564 + def_special sub_80847C8 + def_special PlayTrainerEncounterMusic + def_special sub_8082C68 + def_special sub_8082C9C + def_special sub_80826B0 + def_special ShowPokemonStorageSystem + def_special CheckForAlivePartyMons + def_special TurnOffTVScreen + def_special DoTVShow + def_special sub_80BECE8 + def_special special_0x44 + def_special sub_80BDA0C + def_special sub_80BF2C4 + def_special sub_80BDE48 + def_special sub_80BF544 + def_special SetContestCategoryStringVarForInterview + def_special special_0x4a + def_special sub_80BF974 + def_special CheckForBigMovieOrEmergencyNewsOnTV + def_special GetMomOrDadStringForTVMessage + def_special sub_80C2014 + def_special sub_80C47C0 + def_special sub_80C496C + def_special sub_80C4C28 + def_special sub_80C47F0 + def_special sub_80C4858 + def_special sub_80C4C64 + def_special sub_80C4758 + def_special sub_80C4BF0 + def_special sub_80C43F4 + def_special sub_80C4D80 + def_special sub_80C4F70 + def_special sub_80C47A0 + def_special sub_80C4440 + def_special sub_80C44C0 + def_special sub_80C5044 + def_special GiveMonArtistRibbon + def_special sub_808363C + def_special InitSaveDialog + def_special DoWateringBerryTreeAnim + def_special sub_80E60D8 + def_special sub_80EB7C4 + def_special sub_80F7B14 + def_special sub_80F7B2C + def_special sub_80F7B40 + def_special sub_80F7C70 + def_special sub_80F7C84 + def_special sub_80F7C90 + def_special sub_80F7C54 + def_special sub_80F83D0 + def_special sub_80F7CF4 + def_special sub_80F7CC8 + def_special sub_80F889C + def_special sub_80F8888 + def_special sub_80F8874 + def_special sub_80F88AC + def_special sub_80F88FC + def_special sub_80F88E0 + def_special sub_8109E34 + def_special sub_8109C44 + def_special sub_8109C58 + def_special sub_8109C90 + def_special sub_8109CF0 + def_special sub_8109DE0 + def_special GetShroomishSizeRecordInfo + def_special CompareShroomishSize + def_special GetBarboachSizeRecordInfo + def_special CompareBarboachSize + def_special sub_80BF9B4 + def_special sub_80BFAE0 + def_special sub_80BFB10 + def_special sub_80FA5BC + def_special sub_80FA5E4 + def_special sub_80EB83C + def_special sub_80FA648 + def_special SwapRegisteredBike + def_special CalculatePlayerPartyCount + def_special sub_8095B6C + def_special sub_8095C10 + def_special sub_80C4CF8 + def_special sub_80C4CEC + def_special sub_80C4C78 + def_special sub_80C4D50 + def_special ShowContestWinner + def_special MauvilleGymSpecial2 + def_special MauvilleGymSpecial1 + def_special ShowFieldMessageStringVar4 + def_special DrawWholeMapView + def_special StorePlayerCoordsInVars + def_special MauvilleGymSpecial3 + def_special PetalburgGymSpecial1 + def_special PetalburgGymSpecial2 + def_special GetPlayerTrainerIdOnesDigit + def_special GetPlayerBigGuyGirlString + def_special GetRivalSonDaughterString + def_special SetFlagInVar + def_special CableCarWarp + def_special sub_8123218 + def_special sub_8053E90 + def_special StartWallClock + def_special sub_810D6B8 + def_special ChooseStarter + def_special StartBattle_WallyTutorial + def_special sub_80BF9F8 + def_special sub_80F9A0C + def_special sub_810CA00 + def_special sub_804E538 + def_special PlayRoulette + def_special sub_810FD60 + def_special sub_810FCB0 + def_special sub_810FDAC + def_special sub_810FA74 + def_special sub_810FCE8 + def_special sub_810FF48 + def_special sub_810FAA0 + def_special sub_810FF60 + def_special RockSmashWildEncounter + def_special GabbyAndTyGetBattleNum + def_special sub_80BDC14 + def_special GabbyAndTyBeforeInterview + def_special DoTVShowInSearchOfTrainers + def_special IsTVShowInSearchOfTrainersAiring + def_special GabbyAndTyGetLastQuote + def_special sub_80BDD18 + def_special GabbyAndTySetScriptVarsToFieldObjectLocalIds + def_special sub_810E300 + def_special sp0B5_daycare + def_special sp0B6_daycare + def_special sub_8041E7C + def_special sp0B8_daycare + def_special sp0B9_daycare_relationship_comment + def_special sub_8042328 + def_special Daycare_SendPokemon_Special + def_special ChooseSendDaycareMon + def_special ShowDaycareLevelMenu + def_special sub_80417B8 + def_special sub_8041770 + def_special sub_8041648 + def_special ScriptHatchMon + def_special EggHatch + def_special sub_8042B4C + def_special ShowLinkBattleRecords + def_special sub_80B7CE8 + def_special sub_80B7D0C + def_special ExecuteWhiteOut + def_special sp0C8_whiteout_maybe + def_special RotatingGate_InitPuzzle + def_special RotatingGate_InitPuzzleAndGraphics + def_special SetSSTidalFlag + def_special ResetSSTidalFlag + def_special EnterSafariMode + def_special ExitSafariMode + def_special SafariZoneGetPokeblockNameInFeeder + def_special sub_810BAF4 + def_special IsMirageIslandPresent + def_special UpdateShoalTideFlag + def_special InitBirchState + def_special ScriptGetPokedexInfo + def_special ShowPokedexRatingMessage + def_special DoPCTurnOnEffect + def_special DoPCTurnOffEffect + def_special SetDepartmentStoreFloorVar + def_special DoLotteryCornerComputerEffect + def_special EndLotteryCornerComputerEffect + def_special sub_80F9A4C + def_special sub_80F9EEC + def_special sub_80FA0DC + def_special sub_80F9F84 + def_special sub_80F9F3C + def_special sub_8132670 + def_special GetRecordedCyclingRoadResults + def_special BeginCyclingRoadChallenge + def_special GetPlayerAvatarBike + def_special FinishCyclingRoadChallenge + def_special UpdateCyclingRoadState + def_special GetLeadMonFriendshipScore + def_special sub_8134548 + def_special sub_81347F8 + def_special CheckPartyBattleTowerBanlist + def_special sub_8135474 + def_special sub_81360C0 + def_special sub_813556C + def_special sub_8135668 + def_special sub_81358A4 + def_special sub_8135A14 + def_special sub_8135BA0 + def_special sub_8135C38 + def_special sub_8135D84 + def_special sub_8135DEC + def_special sub_8135E50 + def_special ChooseBattleTowerPlayerParty + def_special sub_813601C + def_special sub_810F404 + def_special ReducePlayerPartyToThree + def_special BedroomPC + def_special PlayerPC + def_special FieldShowRegionMap + def_special sub_804D89C + def_special sub_804DB68 + def_special sub_804E174 + def_special sub_804DB2C + def_special GetWeekCount + def_special RetrieveLotteryNumber + def_special PickLotteryCornerTicket + def_special ShowBerryBlenderRecordWindow + def_special ResetTrickHouseEndRoomFlag + def_special SetTrickHouseEndRoomFlag + def_special TryCreatePCMenu + def_special AccessHallOfFamePC + def_special sub_810D6A4 + def_special CheckLeadMonCool + def_special CheckLeadMonBeauty + def_special CheckLeadMonCute + def_special CheckLeadMonSmart + def_special CheckLeadMonTough + def_special sub_80C7958 + def_special DoSoftReset + def_special GameClear + def_special sub_810EBEC + def_special ShowGlassWorkshopMenu + def_special SpawnCameraDummy + def_special RemoveCameraDummy + def_special GetPokeblockNameByMonNature + def_special GetSecretBaseNearbyMapName + def_special CheckRelicanthWailord + def_special DoBrailleWait + def_special sub_80818A4 + def_special sub_80818FC + def_special ShowBattleTowerRecords + def_special WaitWeather + def_special sub_810F414 + def_special sub_810F424 + def_special player_get_direction_lower_nybble + def_special sub_810F488 + def_special sub_810F4B0 + def_special sub_810F4D4 + def_special sub_810F4FC + def_special LeadMonHasEffortRibbon + def_special GivLeadMonEffortRibbon + def_special GetLeadMonEVCount + def_special sub_8064EAC + def_special sub_8064ED4 + def_special InitRoamer + def_special sub_810F5BC + def_special IsGrassTypeInParty + def_special sub_8081334 + def_special PutZigzagoonInPlayerParty + def_special IsStarterInParty + def_special sub_80BC224 + def_special CheckFreePokemonStorageSpace + def_special DoSealedChamberShakingEffect1 + def_special sub_810E944 + def_special GetShieldToyTVDecorationInfo + def_special IsPokerusInParty + def_special sub_8069D78 + def_special sub_810F758 + def_special StartBattle_GroudonKyogre + def_special StartBattle_Rayquaza + def_special StartBattle_Regi + def_special sub_8082524 + def_special DoSealedChamberShakingEffect2 + def_special sub_810F828 + def_special sub_807E25C + def_special sp13E_warp_to_last_warp + def_special sp13F_fall_to_last_warp + def_special ShowContestEntryMonPic + def_special sub_80C5164 + def_special sub_8134AB4 + def_special StartBattle_SouthernIsland + def_special SetRoute119Weather + def_special SetRoute123Weather + def_special ScriptGetMultiplayerId + def_special ScriptGetPartyMonSpecies + def_special sub_80FA148 + def_special sub_810F8FC + def_special sub_80BC50C + def_special LoadPlayerBag + def_special sub_8081924 + def_special sub_810F950 + def_special sub_810F908 + def_special sub_8090FC0 + def_special sub_810F96C + def_special sub_810F9AC + def_special sub_813610C + def_special GetNameOfEnigmaBerryInPlayerParty + def_special ScriptRandom + def_special sub_80835D8 .ifdef GERMAN - .4byte nullsub_814B200 + def_special nullsub_814B200 .endif diff --git a/include/battle_ai.h b/include/battle_ai.h index 028da2c27..2922da0b3 100644 --- a/include/battle_ai.h +++ b/include/battle_ai.h @@ -23,6 +23,7 @@ enum // battle_ai void BattleAI_SetupAIData(void); +u8 BattleAI_GetAIActionToUse(void); void BattleAI_DoAIProcessing(void); void sub_810745C(void); void AIStackPushVar(u8 *); diff --git a/include/contest_painting.h b/include/contest_painting.h index ad1cecfed..48ab95fbc 100644 --- a/include/contest_painting.h +++ b/include/contest_painting.h @@ -49,11 +49,6 @@ struct ContestEntry /*0x16*/ u8 trainer_name[OT_NAME_LENGTH]; }; -struct Unk3000756 -{ - /*0x00*/ u8 var_0; -}; - struct LabelPair { const u8 *prefix; diff --git a/include/event_data.h b/include/event_data.h index 5cac27cc8..98e4a6da3 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -25,4 +25,20 @@ u8 FlagSet(u16 id); u8 FlagReset(u16 id); bool8 FlagGet(u16 id); +extern u16 gSpecialVar_0x8000; +extern u16 gSpecialVar_0x8001; +extern u16 gSpecialVar_0x8002; +extern u16 gSpecialVar_0x8003; +extern u16 gSpecialVar_0x8004; +extern u16 gSpecialVar_0x8005; +extern u16 gSpecialVar_0x8006; +extern u16 gSpecialVar_0x8007; +extern u16 gSpecialVar_0x8008; +extern u16 gSpecialVar_0x8009; +extern u16 gSpecialVar_0x800A; +extern u16 gSpecialVar_0x800B; +extern u16 gScriptResult; +extern u16 gScriptLastTalked; +extern u16 gScriptFacing; + #endif // GUARD_EVENT_DATA_H diff --git a/include/field_effect.h b/include/field_effect.h index 5edca21dc..bf80ca0dc 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -245,4 +245,6 @@ void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8); void sub_80878A8(void); void sub_8087BA8(void); +extern u32 gUnknown_0202FF84[8]; + #endif // GUARD_FIELD_EFFECT_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 6595a51ca..d2a1a9b1f 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -70,8 +70,6 @@ extern struct CameraSomething gUnknown_03004880; extern u16 gUnknown_03004898; extern u16 gUnknown_0300489C; -extern u32 gUnknown_0202FF84[]; - extern const struct Coords16 gDirectionToVector[]; void FieldObjectCB_BerryTree(struct Sprite *); diff --git a/include/field_specials.h b/include/field_specials.h index 710f0a2a0..d61aa3b20 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -8,11 +8,6 @@ struct ElevatorMenu { u8 var3; }; -extern struct ElevatorMenu gUnknown_03000760[20]; -extern struct WarpData gUnknown_020297F0; -extern u8 gBattleOutcome; - -extern u16 gScriptResult; extern u8 gUnknown_02039250; extern u8 gUnknown_02039251; extern u32 gUnknown_02039254; @@ -22,9 +17,6 @@ extern u8 gUnknown_0203925A; extern u8 gUnknown_0203925B; extern u8 gUnknown_0203925C; -extern u16 gSpecialVar_0x8004; -extern u16 gSpecialVar_0x8005; - void ResetCyclingRoadChallengeData(void); bool32 CountSSTidalStep(u16); u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *); diff --git a/include/graphics.h b/include/graphics.h index fa6a85513..5632cb831 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2435,6 +2435,10 @@ 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]; + // data/graphics.s extern const u8 gBagMaleTiles[]; extern const u8 gBagFemaleTiles[]; diff --git a/include/libgncmultiboot.h b/include/libgncmultiboot.h index 33c9f6bfa..23ac64d17 100644 --- a/include/libgncmultiboot.h +++ b/include/libgncmultiboot.h @@ -5,6 +5,7 @@ struct GcmbStruct { u16 gcmb_field_0; u8 gcmb_field_2; + u8 filler3[0x2C - 0x3]; }; void GameCubeMultiBoot_Main(struct GcmbStruct *pStruct); diff --git a/include/pokeblock.h b/include/pokeblock.h index 0d8e965e4..f78ed40c3 100644 --- a/include/pokeblock.h +++ b/include/pokeblock.h @@ -1,11 +1,6 @@ #ifndef GUARD_POKEBLOCK_H #define GUARD_POKEBLOCK_H -struct YesNoCBTable { - void (*yesFunc)(void); - void (*noFunc)(void); -}; - enum { PBLOCK_CLR_BLACK, PBLOCK_CLR_RED, @@ -15,12 +10,6 @@ enum { PBLOCK_CLR_YELLOW }; -extern u8 ewram[]; -extern u8 gUnknown_02039244; -extern u8 gUnknown_02039248[4]; -extern u8 gUnknown_0203924C; -extern const u8 *gUnknown_03000758; - void sub_810B96C(void); u8 sub_810BA50(s16, s16, u8); u8 sub_810C9B0(struct Pokeblock *); diff --git a/include/script.h b/include/script.h index e35ec7608..b3d888edf 100644 --- a/include/script.h +++ b/include/script.h @@ -55,7 +55,5 @@ u32 CalculateRamScriptChecksum(void); void ClearRamScript(void); bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId); u8 *GetRamScript(u8 objectId, u8 *script); -u16 gScriptResult; -extern u16 gScriptLastTalked; #endif // GUARD_SCRIPT_H diff --git a/include/use_pokeblock.h b/include/use_pokeblock.h index 978476d89..f34857cf1 100644 --- a/include/use_pokeblock.h +++ b/include/use_pokeblock.h @@ -5,9 +5,6 @@ #ifndef POKERUBY_USE_POKEBLOCK_H #define POKERUBY_USE_POKEBLOCK_H -extern void *gUnknown_02030400; -extern s16 gUnknown_02039312; - void sub_8136130(struct Pokeblock *, MainCallback); #endif //POKERUBY_USE_POKEBLOCK_H diff --git a/ld_script.txt b/ld_script.txt index 96edbd0e3..8ed41e797 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -58,7 +58,7 @@ SECTIONS { asm/battle_5.o(.text); src/battle_6.o(.text); src/battle_7.o(.text); - asm/battle_8.o(.text); + src/battle_8.o(.text); asm/battle_9.o(.text); src/battle_10.o(.text); src/pokemon_1.o(.text); @@ -109,7 +109,7 @@ SECTIONS { src/coord_event_weather.o(.text); src/field_tasks.o(.text); src/clock.o(.text); - asm/reset_rtc_screen.o(.text); + src/reset_rtc_screen.o(.text); asm/party_menu.o(.text); src/party_menu.o(.text); asm/party_menu.o(.text_8070968); @@ -147,7 +147,7 @@ SECTIONS { asm/pokemon_storage_system.o(.text); src/pokemon_storage_system.o(.text); asm/pokemon_storage_system.o(.text_8098A38); - asm/pokemon_icon.o(.text); + src/pokemon_icon.o(.text); asm/pokemon_summary_screen.o(.text); src/pokemon_summary_screen.o(.text); asm/pokemon_summary_screen.o(.text_80A0958); @@ -190,7 +190,7 @@ SECTIONS { asm/pokenav.o(.text); src/pokenav.o(.text); asm/pokenav.o(.text_80F708C); - asm/mon_markings.o(.text); + src/mon_markings.o(.text); src/mauville_old_man.o(.text); asm/mauville_old_man.o(.text); src/mail.o(.text); @@ -212,7 +212,7 @@ SECTIONS { src/wallclock.o(.text); src/rom6.o(.text); src/pokeblock.o(.text); - asm/fldeff_flash.o(.text); + src/fldeff_flash.o(.text); src/post_battle_event_funcs.o(.text); src/time_events.o(.text); src/birch_pc.o(.text); @@ -391,7 +391,7 @@ SECTIONS { src/trainer_card.o(.rodata); src/battle_party_menu.o(.rodata); data/pokemon_storage_system.o(.rodata); - data/pokemon_icon.o(.rodata); + src/pokemon_icon.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/fldeff_cut.o(.rodata); src/item_menu.o(.rodata); diff --git a/src/battle_10.c b/src/battle_10.c index 34e4f75b1..0237bab4b 100644 --- a/src/battle_10.c +++ b/src/battle_10.c @@ -72,7 +72,7 @@ extern void sub_80375B4(void); extern void sub_8010384(struct Sprite *); extern void sub_8037B78(void); extern u8 sub_8031720(); -extern u8 mplay_80342A4(); +extern bool8 mplay_80342A4(u8); extern void ExecuteMoveAnim(); extern void sub_80326EC(); extern void sub_8031F24(void); @@ -887,6 +887,7 @@ void sub_8039A30(void) gDisableStructMoveAnim = (u32 *)&gBattleBufferA[gActiveBank][16]; gPID_perBank[gActiveBank] = *gDisableStructMoveAnim; + // Dead code. sub_8031720 always returns 0. if (sub_8031720(r0, gUnknown_0202F7C4) != 0) { dp01_tbl4_exec_completed(); diff --git a/src/battle_8.c b/src/battle_8.c new file mode 100644 index 000000000..75f10c4b1 --- /dev/null +++ b/src/battle_8.c @@ -0,0 +1,1642 @@ +#include "global.h" +#include "battle.h" +#include "battle_ai.h" +#include "battle_interface.h" +#include "data2.h" +#include "graphics.h" +#include "main.h" +#include "pokemon.h" +#include "rng.h" +#include "rom3.h" +#include "songs.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "util.h" + +struct UnknownStruct3 +{ + u16 moves[4]; + u8 pp[4]; + u8 ppBonuses; +}; + +extern u8 gActiveBank; +extern u8 gBattleBufferA[][0x200]; +extern u16 gBattlePartyID[]; +extern u8 gObjectBankIDs[]; +extern u8 gBattleMonForms[]; +extern struct SpriteTemplate gUnknown_02024E8C; +extern void (*gBattleBankFunc[])(void); +extern u8 gUnknown_0300434C[]; +extern u8 gHealthboxIDs[]; +extern u16 gBattleTypeFlags; +extern u16 gTrainerBattleOpponent; +extern u32 *gDisableStructMoveAnim; +extern u32 gMoveDmgMoveAnim; +extern u16 gMovePowerMoveAnim; +extern u8 gHappinessMoveAnim; +extern u16 gWeatherMoveAnim; +extern u32 gPID_perBank[]; +extern u8 gUnknown_0202F7C4; +extern u8 gAnimScriptActive; +extern void (*gAnimScriptCallback)(void); +extern struct Window gUnknown_03004210; +extern u16 gUnknown_030042A0; +extern u16 gUnknown_030042A4; +extern u8 gDisplayedStringBattle[]; +extern u8 gBankTarget; +extern u8 gAbsentBankFlags; +extern bool8 gDoingBattleAnim; +extern u16 gUnknown_02024DE8; +extern u8 gUnknown_02024E68[]; +extern MainCallback gPreBattleCallback1; + +extern u8 sub_8077ABC(); +extern u8 sub_8077F68(); +extern u8 sub_8079E90(); +extern void sub_8033018(void); +extern void sub_8031794(); +extern u8 GetBankIdentity(u8); +extern void sub_8032984(u8, u16); +extern void sub_80333D4(void); +extern void sub_80312F0(struct Sprite *); +extern u8 sub_8046400(); +extern void sub_8032A08(); +extern void sub_8043DB0(); +extern void sub_8033160(void); +extern u8 sub_8135FBC(void); +extern u8 get_trainer_class_pic_index(void); +extern void sub_80313A0(struct Sprite *); +extern void sub_8032B4C(void); +extern void sub_8031A6C(u16, u8); +extern void sub_8032B84(void); +extern void sub_8078B34(struct Sprite *); +extern void sub_8032BBC(void); +extern void oamt_add_pos2_onto_pos1(); +extern void oamt_set_x3A_32(); +extern void sub_803311C(void); +extern void sub_8010384(struct Sprite *); +extern bool8 mplay_80342A4(u8); +extern u8 sub_8031720(); +extern void ExecuteMoveAnim(); +extern void sub_80326EC(); +extern void sub_8031F24(void); +extern void sub_80324BC(); +extern void BufferStringBattle(); +extern void sub_80331D0(void); +extern void sub_8036B0C(void); +extern u8 GetBankByPlayerAI(u8); +extern u8 sub_8036CD4(void); +extern void sub_80330C8(void); +extern void sub_8043D84(); +extern void sub_8045A5C(); +void sub_8033494(void); +extern void move_anim_start_t2_for_situation(); +extern void bx_blink_t7(void); +extern void sub_8047858(); +extern u8 GetBankSide(u8); +extern void sub_80E43C0(); +extern void sub_8044CA0(u8); +extern void nullsub_45(void); +extern void sub_8031B74(); +extern bool8 IsDoubleBattle(void); +extern void sub_8032E2C(void); +extern u8 sub_8078874(); +extern u8 move_anim_start_t3(); +extern void sub_80334C0(void); +extern void OpponentBufferExecCompleted(void); + +u32 sub_8033598(u8, u8 *); +void sub_8033E24(u8); +void sub_803495C(u8, u8); +void sub_8034B74(void); +void sub_8035238(void); +void sub_8035C10(struct Sprite *); +void sub_8035C44(u8); +void sub_8035E2C(void); + +void OpponentHandleGetAttributes(void) +{ + u8 buffer[256]; + int r6 = 0; + s32 i; + + if (gBattleBufferA[gActiveBank][2] == 0) + { + r6 = sub_8033598(gBattlePartyID[gActiveBank], buffer); + } + else + { + u8 r4 = gBattleBufferA[gActiveBank][2]; + + for (i = 0; i < 6; i++) + { + if (r4 & 1) + r6 += sub_8033598(i, buffer + r6); + r4 >>= 1; + } + } + dp01_build_cmdbuf_x1D_1D_numargs_varargs(1, r6, buffer); + OpponentBufferExecCompleted(); +} + +u32 sub_8033598(u8 a, u8 *buffer) +{ + struct BattlePokemon battlePokemon; + struct UnknownStruct3 moveData; + u8 nickname[20]; + u8 *src; + s16 data16; + u32 data32; + s32 size = 0; + + switch (gBattleBufferA[gActiveBank][1]) + { + case 0: + battlePokemon.species = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); + battlePokemon.item = GetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM); + for (size = 0; size < 4; size++) + { + battlePokemon.moves[size] = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + size); + battlePokemon.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); + } + battlePokemon.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); + battlePokemon.friendship = GetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP); + battlePokemon.experience = GetMonData(&gEnemyParty[a], MON_DATA_EXP); + battlePokemon.hpIV = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV); + battlePokemon.attackIV = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV); + battlePokemon.defenseIV = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV); + battlePokemon.speedIV = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + battlePokemon.spAttackIV = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV); + battlePokemon.spDefenseIV = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV); + battlePokemon.personality = GetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY); + battlePokemon.status1 = GetMonData(&gEnemyParty[a], MON_DATA_STATUS); + battlePokemon.level = GetMonData(&gEnemyParty[a], MON_DATA_LEVEL); + battlePokemon.hp = GetMonData(&gEnemyParty[a], MON_DATA_HP); + battlePokemon.maxHP = GetMonData(&gEnemyParty[a], MON_DATA_MAX_HP); + battlePokemon.attack = GetMonData(&gEnemyParty[a], MON_DATA_ATK); + battlePokemon.defense = GetMonData(&gEnemyParty[a], MON_DATA_DEF); + battlePokemon.speed = GetMonData(&gEnemyParty[a], MON_DATA_SPD); + battlePokemon.spAttack = GetMonData(&gEnemyParty[a], MON_DATA_SPATK); + battlePokemon.spDefense = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF); + battlePokemon.isEgg = GetMonData(&gEnemyParty[a], MON_DATA_IS_EGG); + battlePokemon.altAbility = GetMonData(&gEnemyParty[a], MON_DATA_ALT_ABILITY); + battlePokemon.otId = GetMonData(&gEnemyParty[a], MON_DATA_OT_ID); + GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname); + StringCopy10(battlePokemon.nickname, nickname); + GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); + src = (u8 *)&battlePokemon; + for (size = 0; size < sizeof(battlePokemon); size++) + buffer[size] = src[size]; + break; + case 1: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 2: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 3: + for (size = 0; size < 4; size++) + { + moveData.moves[size] = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + size); + moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); + } + moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); + src = (u8 *)&moveData; + for (size = 0; size < sizeof(moveData); size++) + buffer[size] = src[size]; + break; + case 4: + case 5: + case 6: + case 7: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 8: + for (size = 0; size < 4; size++) + buffer[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); + buffer[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); + size++; + break; + case 9: + case 10: + case 11: + case 12: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + size = 1; + break; + case 17: + data32 = GetMonData(&gEnemyParty[a], MON_DATA_OT_ID); + buffer[0] = (data32 & 0x000000FF); + buffer[1] = (data32 & 0x0000FF00) >> 8; + buffer[2] = (data32 & 0x00FF0000) >> 16; + size = 3; + break; + case 18: + data32 = GetMonData(&gEnemyParty[a], MON_DATA_EXP); + buffer[0] = (data32 & 0x000000FF); + buffer[1] = (data32 & 0x0000FF00) >> 8; + buffer[2] = (data32 & 0x00FF0000) >> 16; + size = 3; + break; + case 19: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_EV); + size = 1; + break; + case 20: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_EV); + size = 1; + break; + case 21: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_EV); + size = 1; + break; + case 22: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_EV); + size = 1; + break; + case 23: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV); + size = 1; + break; + case 24: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV); + size = 1; + break; + case 25: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP); + size = 1; + break; + case 26: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_POKERUS); + size = 1; + break; + case 27: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION); + size = 1; + break; + case 28: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL); + size = 1; + break; + case 29: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_MET_GAME); + size = 1; + break; + case 30: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_POKEBALL); + size = 1; + break; + case 31: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV); + buffer[1] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV); + buffer[2] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV); + buffer[3] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + buffer[4] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV); + buffer[5] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV); + size = 6; + break; + case 32: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_HP_IV); + size = 1; + break; + case 33: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_ATK_IV); + size = 1; + break; + case 34: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_DEF_IV); + size = 1; + break; + case 35: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPD_IV); + size = 1; + break; + case 36: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV); + size = 1; + break; + case 37: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV); + size = 1; + break; + case 38: + data32 = GetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY); + buffer[0] = (data32 & 0x000000FF); + buffer[1] = (data32 & 0x0000FF00) >> 8; + buffer[2] = (data32 & 0x00FF0000) >> 16; + buffer[3] = (data32 & 0xFF000000) >> 24; + size = 4; + break; + case 39: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 40: + data32 = GetMonData(&gEnemyParty[a], MON_DATA_STATUS); + buffer[0] = (data32 & 0x000000FF); + buffer[1] = (data32 & 0x0000FF00) >> 8; + buffer[2] = (data32 & 0x00FF0000) >> 16; + buffer[3] = (data32 & 0xFF000000) >> 24; + size = 4; + break; + case 41: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_LEVEL); + size = 1; + break; + case 42: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_HP); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 43: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_MAX_HP); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 44: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_ATK); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 45: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_DEF); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 46: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPD); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 47: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPATK); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 48: + data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPDEF); + buffer[0] = data16; + buffer[1] = data16 >> 8; + size = 2; + break; + case 49: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_COOL); + size = 1; + break; + case 50: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_BEAUTY); + size = 1; + break; + case 51: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_CUTE); + size = 1; + break; + case 52: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SMART); + size = 1; + break; + case 53: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_TOUGH); + size = 1; + break; + case 54: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SHEEN); + size = 1; + break; + case 55: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON); + size = 1; + break; + case 56: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON); + size = 1; + break; + case 57: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON); + size = 1; + break; + case 58: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON); + size = 1; + break; + case 59: + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON); + size = 1; + break; + } + return size; +} + +void dp01t_01_2_read_pokmon_data_slice(void) +{ + struct BattlePokemon buffer; + u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst = (u8 *)&buffer + gBattleBufferA[gActiveBank][1]; + u8 i; + + for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) + dst[i] = src[i]; + dp01_build_cmdbuf_x1D_1D_numargs_varargs(1, gBattleBufferA[gActiveBank][2], dst); + OpponentBufferExecCompleted(); +} + +void OpponentHandleSetAttributes(void) +{ + u8 i; + u8 r4; + + if (gBattleBufferA[gActiveBank][2] == 0) + { + sub_8033E24(gBattlePartyID[gActiveBank]); + } + else + { + r4 = gBattleBufferA[gActiveBank][2]; + for (i = 0; i < 6; i++) + { + if (r4 & 1) + sub_8033E24(i); + r4 >>= 1; + } + } + OpponentBufferExecCompleted(); +} + +void sub_8033E24(u8 a) +{ + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; + struct UnknownStruct3 *moveData = (struct UnknownStruct3 *)&gBattleBufferA[gActiveBank][3]; + s32 i; + + switch (gBattleBufferA[gActiveBank][1]) + { + case 0: + { + u8 iv; + + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + for (i = 0; i < 4; i++) + { + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + } + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + iv = battlePokemon->hpIV; + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv); + iv = battlePokemon->attackIV; + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + iv = battlePokemon->defenseIV; + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + iv = battlePokemon->speedIV; + SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, (u8 *)&iv); + iv = battlePokemon->spAttackIV; + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + iv = battlePokemon->spDefenseIV; + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); + SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); + SetMonData(&gEnemyParty[a], MON_DATA_SPD, (u8 *)&battlePokemon->speed); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + } + break; + case 1: + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + break; + case 2: + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + break; + case 3: + for (i = 0; i < 4; i++) + { + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + } + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); + break; + case 4: + case 5: + case 6: + case 7: + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + break; + case 8: + SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); + SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); + SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + break; + case 9: + case 10: + case 11: + case 12: + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + break; + case 17: + SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + break; + case 18: + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + break; + case 19: + SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + break; + case 20: + SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + break; + case 21: + SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + break; + case 22: + SetMonData(&gEnemyParty[a], MON_DATA_SPD_EV, &gBattleBufferA[gActiveBank][3]); + break; + case 23: + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + break; + case 24: + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + break; + case 25: + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + break; + case 26: + SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + break; + case 27: + SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + break; + case 28: + SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + break; + case 29: + SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + break; + case 30: + SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + break; + case 31: + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); + SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][6]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + break; + case 32: + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + break; + case 33: + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + break; + case 34: + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + break; + case 35: + SetMonData(&gEnemyParty[a], MON_DATA_SPD_IV, &gBattleBufferA[gActiveBank][3]); + break; + case 36: + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + break; + case 37: + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + break; + case 38: + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + break; + case 39: + SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + break; + case 40: + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + break; + case 41: + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + break; + case 42: + SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + break; + case 43: + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + break; + case 44: + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + break; + case 45: + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + break; + case 46: + SetMonData(&gEnemyParty[a], MON_DATA_SPD, &gBattleBufferA[gActiveBank][3]); + break; + case 47: + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + break; + case 48: + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + break; + case 49: + SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + break; + case 50: + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + break; + case 51: + SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + break; + case 52: + SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + break; + case 53: + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + break; + case 54: + SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + break; + case 55: + SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + break; + case 56: + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + break; + case 57: + SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + break; + case 58: + SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + break; + case 59: + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + break; + } +} + +void sub_8034744(void) +{ + u8 *dst; + u8 i; + + dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) + dst[i] = gBattleBufferA[gActiveBank][3 + i]; + OpponentBufferExecCompleted(); +} + +void OpponentHandleLoadPokeSprite(void) +{ + u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + + sub_8031794(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); + GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank)); + gObjectBankIDs[gActiveBank] = CreateSprite( + &gUnknown_02024E8C, + sub_8077ABC(gActiveBank, 2), + sub_8077F68(gActiveBank), + sub_8079E90(gActiveBank)); + gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; + gSprites[gObjectBankIDs[gActiveBank]].data0 = gActiveBank; + gSprites[gObjectBankIDs[gActiveBank]].data2 = species; + gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = gActiveBank; + StartSpriteAnim(&gSprites[gObjectBankIDs[gActiveBank]], gBattleMonForms[gActiveBank]); + sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBank] = sub_8033018; +} + +void OpponentHandleSendOutPoke(void) +{ + gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; + + sub_803495C(gActiveBank, gBattleBufferA[gActiveBank][2]); + gBattleBankFunc[gActiveBank] = sub_80333D4; +} + +void sub_803495C(u8 a, u8 b) +{ + u16 species; + + sub_8032AA8(a, b); + gBattlePartyID[a] = gBattleBufferA[a][1]; + species = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_SPECIES); + gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); + sub_8031794(&gEnemyParty[gBattlePartyID[a]], a); + GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); + gObjectBankIDs[a] = CreateSprite( + &gUnknown_02024E8C, + sub_8077ABC(a, 2), + sub_8077F68(a), + sub_8079E90(a)); + gSprites[gObjectBankIDs[a]].data0 = a; + gSprites[gObjectBankIDs[a]].data2 = species; + gSprites[gUnknown_0300434C[a]].data1 = gObjectBankIDs[a]; + gSprites[gObjectBankIDs[a]].oam.paletteNum = a; + StartSpriteAnim(&gSprites[gObjectBankIDs[a]], gBattleMonForms[a]); + gSprites[gObjectBankIDs[a]].invisible = TRUE; + gSprites[gObjectBankIDs[a]].callback = SpriteCallbackDummy; + gSprites[gUnknown_0300434C[a]].data0 = sub_8046400(0, 0xFE); +} + +void OpponentHandleReturnPokeToBall(void) +{ + if (gBattleBufferA[gActiveBank][1] == 0) + { + ewram17810[gActiveBank].unk4 = 0; + gBattleBankFunc[gActiveBank] = sub_8034B74; + } + else + { + FreeSpriteOamMatrix(&gSprites[gObjectBankIDs[gActiveBank]]); + DestroySprite(&gSprites[gObjectBankIDs[gActiveBank]]); + sub_8032A08(gActiveBank); + sub_8043DB0(gHealthboxIDs[gActiveBank]); + OpponentBufferExecCompleted(); + } +} + +void sub_8034B74(void) +{ + switch (ewram17810[gActiveBank].unk4) + { + case 0: + if (ewram17800[gActiveBank].unk0_2) + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17810[gActiveBank].unk4 = 1; + break; + case 1: + if (!ewram17810[gActiveBank].unk0_6) + { + ewram17810[gActiveBank].unk4 = 0; + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 2); + gBattleBankFunc[gActiveBank] = sub_8033160; + } + break; + } +} + +void OpponentHandleTrainerThrow(void) +{ + u32 trainerPicIndex; + + if (gTrainerBattleOpponent == 0x400) + trainerPicIndex = GetSecretBaseTrainerPicIndex(); + else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + trainerPicIndex = get_trainer_class_pic_index(); + else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) + trainerPicIndex = sub_8135FBC(); + else + trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; + + sub_8031A6C(trainerPicIndex, gActiveBank); + GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); + gObjectBankIDs[gActiveBank] = CreateSprite( + &gUnknown_02024E8C, + 0xB0, + 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), + sub_8079E90(gActiveBank)); + gSprites[gObjectBankIDs[gActiveBank]].pos2.x = -240; + gSprites[gObjectBankIDs[gActiveBank]].data0 = 2; + gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gObjectBankIDs[gActiveBank]].data5 = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum; + gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = trainerPicIndex; + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gBattleBankFunc[gActiveBank] = sub_8032B4C; +} + +void OpponentHandleTrainerSlide(void) +{ + u32 trainerPicIndex; + + if (gTrainerBattleOpponent == 0x400) + trainerPicIndex = GetSecretBaseTrainerPicIndex(); + else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + trainerPicIndex = get_trainer_class_pic_index(); + else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) + trainerPicIndex = sub_8135FBC(); + else + trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; + + sub_8031A6C(trainerPicIndex, gActiveBank); + GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); + gObjectBankIDs[gActiveBank] = CreateSprite( + &gUnknown_02024E8C, + 0xB0, + 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), + 0x1E); + gSprites[gObjectBankIDs[gActiveBank]].pos2.x = 96; + gSprites[gObjectBankIDs[gActiveBank]].pos1.x += 32; + gSprites[gObjectBankIDs[gActiveBank]].data0 = -2; + gSprites[gObjectBankIDs[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gObjectBankIDs[gActiveBank]].data5 = gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum; + gSprites[gObjectBankIDs[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gObjectBankIDs[gActiveBank]].oam.affineParam = trainerPicIndex; + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_80313A0; + gBattleBankFunc[gActiveBank] = sub_8032B84; +} + +void OpponentHandleTrainerSlideBack(void) +{ + oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); + gSprites[gObjectBankIDs[gActiveBank]].data0 = 35; + gSprites[gObjectBankIDs[gActiveBank]].data2 = 280; + gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; + oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], SpriteCallbackDummy); + gBattleBankFunc[gActiveBank] = sub_8032BBC; +} + +void sub_8035030(void) +{ + if (ewram17810[gActiveBank].unk4 == 0) + { + if (ewram17800[gActiveBank].unk0_2) + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17810[gActiveBank].unk4++; + } + else if (!ewram17810[gActiveBank].unk0_6) + { + ewram17810[gActiveBank].unk4 = 0; + PlaySE12WithPanning(SE_POKE_DEAD, 63); + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8010384; + gBattleBankFunc[gActiveBank] = sub_803311C; + } +} + +void sub_80350D4(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_80350E0(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandleBallThrow(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandlePause(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandleMoveAnimation(void) +{ + if (!mplay_80342A4(gActiveBank)) + { + u32 r0 = gBattleBufferA[gActiveBank][1] + | (gBattleBufferA[gActiveBank][2] << 8); + + gUnknown_0202F7C4 = gBattleBufferA[gActiveBank][3]; + gMovePowerMoveAnim = gBattleBufferA[gActiveBank][4] + | (gBattleBufferA[gActiveBank][5] << 8); + gMoveDmgMoveAnim = gBattleBufferA[gActiveBank][6] + | (gBattleBufferA[gActiveBank][7] << 8) + | (gBattleBufferA[gActiveBank][8] << 16) + | (gBattleBufferA[gActiveBank][9] << 24); + gHappinessMoveAnim = gBattleBufferA[gActiveBank][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] + | (gBattleBufferA[gActiveBank][13] << 8); + gDisableStructMoveAnim = (u32 *)&gBattleBufferA[gActiveBank][16]; + gPID_perBank[gActiveBank] = *gDisableStructMoveAnim; + + // Dead code. sub_8031720 always returns 0. + if (sub_8031720(r0, gUnknown_0202F7C4) != 0) + { + OpponentBufferExecCompleted(); + } + else + { + ewram17810[gActiveBank].unk4 = 0; + gBattleBankFunc[gActiveBank] = sub_8035238; + } + } +} + +void sub_8035238(void) +{ + u16 r4 = gBattleBufferA[gActiveBank][1] + | (gBattleBufferA[gActiveBank][2] << 8); + u8 r7 = gBattleBufferA[gActiveBank][11]; + + switch (ewram17810[gActiveBank].unk4) + { + case 0: + if (ewram17800[gActiveBank].unk0_2 && !ewram17800[gActiveBank].unk0_3) + { + ewram17800[gActiveBank].unk0_3 = 1; + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + } + ewram17810[gActiveBank].unk4 = 1; + break; + case 1: + if (!ewram17810[gActiveBank].unk0_6) + { + sub_80326EC(0); + ExecuteMoveAnim(r4); + ewram17810[gActiveBank].unk4 = 2; + } + break; + case 2: + gAnimScriptCallback(); + if (!gAnimScriptActive) + { + sub_80326EC(1); + if ((ewram17800[gActiveBank].unk0_2) && r7 <= 1) + { + move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); + ewram17800[gActiveBank].unk0_3 = 0; + } + ewram17810[gActiveBank].unk4 = 3; + } + break; + case 3: + if (!ewram17810[gActiveBank].unk0_6) + { + sub_8031F24(); + sub_80324BC( + gActiveBank, + gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + ewram17810[gActiveBank].unk4 = 0; + OpponentBufferExecCompleted(); + } + break; + } +} + +void OpponentHandlePrintString(void) +{ + gUnknown_030042A4 = 0; + gUnknown_030042A0 = 0; + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + sub_8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); + gBattleBankFunc[gActiveBank] = sub_80331D0; +} + +void OpponentHandlePrintStringPlayerOnly(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_803540C(void) +{ + sub_8036B0C(); + OpponentBufferExecCompleted(); +} + +void sub_803541C(void) +{ + OpponentBufferExecCompleted(); +} + +#ifdef NONMATCHING +void sub_8035428(void) +{ + u16 r4; + // Needed to match closer + struct {u16 moves[4];} *r5 = (void *)&gBattleBufferA[gActiveBank][4]; + + if (gBattleTypeFlags & 0x498) + { + BattleAI_SetupAIData(); + r4 = BattleAI_GetAIActionToUse(); + switch (r4) + { + case 5: + dp01_build_cmdbuf_x21_a_bb(1, 4, 0); + break; + case 4: + dp01_build_cmdbuf_x21_a_bb(1, 3, 0); + break; + default: + if (gBattleMoves[r5->moves[r4]].target & 0x12) + gBankTarget = gActiveBank; + if (gBattleMoves[r5->moves[r4]].target & 8) + { + gBankTarget = GetBankByPlayerAI(0); + if (gAbsentBankFlags & gBitTable[gBankTarget]) + gBankTarget = GetBankByPlayerAI(2); + } + r4 |= gBankTarget << 8; + dp01_build_cmdbuf_x21_a_bb(1, 10, r4); + break; + } + OpponentBufferExecCompleted(); + } + else + { + u16 r2; + + do + { + // Can't for the life of me get this to match. + r4 = Random() % 4; + r2 = r5->moves[r4]; + } while (r2 == 0); + + if (gBattleMoves[r2].target & 0x12) + { + r4 |= gActiveBank << 8; + dp01_build_cmdbuf_x21_a_bb(1, 10, r4); + } + else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + u16 r2 = GetBankByPlayerAI(Random() & 2) << 8; + + dp01_build_cmdbuf_x21_a_bb(1, 10, r4 | r2); + } + else + { + u16 r2 = GetBankByPlayerAI(0) << 8; + + dp01_build_cmdbuf_x21_a_bb(1, 10, r4 | r2); + } + OpponentBufferExecCompleted(); + } +} +#else +__attribute__((naked)) +void sub_8035428(void) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + ldr r6, _0803545C @ =gActiveBank\n\ + ldrb r0, [r6]\n\ + lsls r0, 9\n\ + ldr r1, _08035460 @ =gUnknown_02023A64\n\ + adds r5, r0, r1\n\ + ldr r0, _08035464 @ =gBattleTypeFlags\n\ + ldrh r1, [r0]\n\ + movs r0, 0x93\n\ + lsls r0, 3\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080354F8\n\ + bl BattleAI_SetupAIData\n\ + bl BattleAI_GetAIActionToUse\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0x4\n\ + beq _08035468\n\ + cmp r4, 0x5\n\ + bne _08035474\n\ + movs r0, 0x1\n\ + movs r1, 0x4\n\ + b _0803546C\n\ + .align 2, 0\n\ +_0803545C: .4byte gActiveBank\n\ +_08035460: .4byte gUnknown_02023A64\n\ +_08035464: .4byte gBattleTypeFlags\n\ +_08035468:\n\ + movs r0, 0x1\n\ + movs r1, 0x3\n\ +_0803546C:\n\ + movs r2, 0\n\ + bl dp01_build_cmdbuf_x21_a_bb\n\ + b _080354E0\n\ +_08035474:\n\ + ldr r3, _080354E8 @ =gBattleMoves\n\ + lsls r0, r4, 1\n\ + adds r2, r5, r0\n\ + ldrh r1, [r2]\n\ + lsls r0, r1, 1\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r3\n\ + ldrb r1, [r0, 0x6]\n\ + movs r0, 0x12\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08035494\n\ + ldr r1, _080354EC @ =gBankTarget\n\ + ldrb r0, [r6]\n\ + strb r0, [r1]\n\ +_08035494:\n\ + ldrh r1, [r2]\n\ + lsls r0, r1, 1\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r3\n\ + ldrb r1, [r0, 0x6]\n\ + movs r0, 0x8\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080354CE\n\ + movs r0, 0\n\ + bl GetBankByPlayerAI\n\ + ldr r5, _080354EC @ =gBankTarget\n\ + strb r0, [r5]\n\ + ldr r0, _080354F0 @ =gAbsentBankFlags\n\ + ldrb r1, [r0]\n\ + ldr r2, _080354F4 @ =gBitTable\n\ + ldrb r0, [r5]\n\ + lsls r0, 2\n\ + adds r0, r2\n\ + ldr r0, [r0]\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + beq _080354CE\n\ + movs r0, 0x2\n\ + bl GetBankByPlayerAI\n\ + strb r0, [r5]\n\ +_080354CE:\n\ + ldr r0, _080354EC @ =gBankTarget\n\ + ldrb r0, [r0]\n\ + lsls r0, 8\n\ + orrs r4, r0\n\ + movs r0, 0x1\n\ + movs r1, 0xA\n\ + adds r2, r4, 0\n\ + bl dp01_build_cmdbuf_x21_a_bb\n\ +_080354E0:\n\ + bl OpponentBufferExecCompleted\n\ + b _0803558A\n\ + .align 2, 0\n\ +_080354E8: .4byte gBattleMoves\n\ +_080354EC: .4byte gBankTarget\n\ +_080354F0: .4byte gAbsentBankFlags\n\ +_080354F4: .4byte gBitTable\n\ +_080354F8:\n\ + movs r6, 0x3\n\ +_080354FA:\n\ + bl Random\n\ + adds r4, r0, 0\n\ + ands r4, r6\n\ + lsls r0, r4, 1\n\ + adds r0, r5, r0\n\ + ldrh r2, [r0]\n\ + cmp r2, 0\n\ + beq _080354FA\n\ + ldr r1, _08035534 @ =gBattleMoves\n\ + lsls r0, r2, 1\n\ + adds r0, r2\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r1, [r0, 0x6]\n\ + movs r0, 0x12\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803553C\n\ + ldr r0, _08035538 @ =gActiveBank\n\ + ldrb r0, [r0]\n\ + lsls r0, 8\n\ + orrs r4, r0\n\ + movs r0, 0x1\n\ + movs r1, 0xA\n\ + adds r2, r4, 0\n\ + bl dp01_build_cmdbuf_x21_a_bb\n\ + b _08035586\n\ + .align 2, 0\n\ +_08035534: .4byte gBattleMoves\n\ +_08035538: .4byte gActiveBank\n\ +_0803553C:\n\ + ldr r0, _0803556C @ =gBattleTypeFlags\n\ + ldrh r1, [r0]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08035570\n\ + bl Random\n\ + movs r1, 0x2\n\ + ands r1, r0\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + adds r0, r1, 0\n\ + bl GetBankByPlayerAI\n\ + adds r2, r0, 0\n\ + lsls r2, 24\n\ + lsrs r2, 16\n\ + orrs r2, r4\n\ + movs r0, 0x1\n\ + movs r1, 0xA\n\ + bl dp01_build_cmdbuf_x21_a_bb\n\ + b _08035586\n\ + .align 2, 0\n\ +_0803556C: .4byte gBattleTypeFlags\n\ +_08035570:\n\ + movs r0, 0\n\ + bl GetBankByPlayerAI\n\ + adds r2, r0, 0\n\ + lsls r2, 24\n\ + lsrs r2, 16\n\ + orrs r2, r4\n\ + movs r0, 0x1\n\ + movs r1, 0xA\n\ + bl dp01_build_cmdbuf_x21_a_bb\n\ +_08035586:\n\ + bl OpponentBufferExecCompleted\n\ +_0803558A:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided\n"); +} +#endif + +void sub_8035590(void) +{ + // What is this? + dp01_build_cmdbuf_x23_aa_0(1, ewram[0x160D4 + gActiveBank / 2 * 2]); + OpponentBufferExecCompleted(); +} + +void sub_80355C0(void) +{ + s32 r4; + + if (ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2] == 6) + { + u8 r6; + u8 r5; + + r4 = sub_8036CD4(); + if (r4 == 6) + { + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + { + r5 = GetBankByPlayerAI(1); + r6 = r5; + } + else + { + r6 = GetBankByPlayerAI(1); + r5 = GetBankByPlayerAI(3); + } + for (r4 = 0; r4 < 6; r4++) + { + if (GetMonData(&gEnemyParty[r4], MON_DATA_HP) != 0 + && r4 != gBattlePartyID[r6] + && r4 != gBattlePartyID[r5]) + break; + } + } + } + else + { + r4 = ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2]; + ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2] = 6; + } + ewram[0x16068 + gActiveBank] = r4; + dp01_build_cmdbuf_x22_a_three_bytes(1, r4, 0); + OpponentBufferExecCompleted(); +} + +void sub_80356C0(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandleHealthBarUpdate(void) +{ + s16 r7; + + load_gfxc_health_bar(0); + r7 = (gBattleBufferA[gActiveBank][3] << 8) | gBattleBufferA[gActiveBank][2]; + if (r7 != 0x7FFF) + { + u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + + sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7); + } + else + { + u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + + sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); + } + gBattleBankFunc[gActiveBank] = sub_80330C8; +} + +void OpponentHandleExpBarUpdate(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandleStatusIconUpdate(void) +{ + if (mplay_80342A4(gActiveBank) == 0) + { + sub_8045A5C(gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], 9); + ewram17810[gActiveBank].unk0_4 = 0; + gBattleBankFunc[gActiveBank] = sub_8033494; + } +} + +void OpponentHandleStatusAnimation(void) +{ + if (mplay_80342A4(gActiveBank) == 0) + { + move_anim_start_t2_for_situation( + gBattleBufferA[gActiveBank][1], + gBattleBufferA[gActiveBank][2] + | (gBattleBufferA[gActiveBank][3] << 8) + | (gBattleBufferA[gActiveBank][4] << 16) + | (gBattleBufferA[gActiveBank][5] << 24)); + gBattleBankFunc[gActiveBank] = sub_8033494; + } +} + +void OpponentHandleStatusXor(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_80358B0(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandleDMATransfer(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_80358C8(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_80358D4(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_80358E0(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_80358EC(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_80358F8(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_8035904(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_8035910(void) +{ + gUnknown_020238C8.unk0_0 = 0; + OpponentBufferExecCompleted(); +} + +void sub_803592C(void) +{ + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + OpponentBufferExecCompleted(); +} + +void sub_8035964(void) +{ + gUnknown_020238C8.unk0_7 = 0; + OpponentBufferExecCompleted(); +} + +void sub_803597C(void) +{ + gUnknown_020238C8.unk0_7 ^= 1; + OpponentBufferExecCompleted(); +} + +void OpponentHandleHitAnimation(void) +{ + if (gSprites[gObjectBankIDs[gActiveBank]].invisible == TRUE) + { + OpponentBufferExecCompleted(); + } + else + { + gDoingBattleAnim = TRUE; + gSprites[gObjectBankIDs[gActiveBank]].data1 = 0; + sub_8047858(gActiveBank); + gBattleBankFunc[gActiveBank] = bx_blink_t7; + } +} + +void sub_8035A14(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandleEffectivenessSound(void) +{ + s8 pan; + + if (GetBankSide(gActiveBank) == 0) + pan = -64; + else + pan = 63; + PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + OpponentBufferExecCompleted(); +} + +void sub_8035A64(void) +{ + PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + OpponentBufferExecCompleted(); +} + +void OpponentHandleFaintingCry(void) +{ + PlayCry3( + GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), + 25, 5); + OpponentBufferExecCompleted(); +} + +void dp01t_2E_7_battle_intro(void) +{ + sub_80E43C0(gBattleBufferA[gActiveBank][1]); + gUnknown_02024DE8 |= 1; + OpponentBufferExecCompleted(); +} + +void sub_8035B04(void) +{ + u8 taskId; + + oamt_add_pos2_onto_pos1(&gSprites[gObjectBankIDs[gActiveBank]]); + gSprites[gObjectBankIDs[gActiveBank]].data0 = 35; + gSprites[gObjectBankIDs[gActiveBank]].data2 = 280; + gSprites[gObjectBankIDs[gActiveBank]].data4 = gSprites[gObjectBankIDs[gActiveBank]].pos1.y; + gSprites[gObjectBankIDs[gActiveBank]].callback = sub_8078B34; + oamt_set_x3A_32(&gSprites[gObjectBankIDs[gActiveBank]], sub_8035C10); + taskId = CreateTask(sub_8035C44, 5); + gTasks[taskId].data[0] = gActiveBank; + if (ewram17810[gActiveBank].unk0_0) + gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + ewram17840.unk9_0 = 1; + gBattleBankFunc[gActiveBank] = nullsub_45; +} + +void sub_8035C10(struct Sprite *sprite) +{ + sub_8031B74(sprite->oam.affineParam); + sprite->oam.tileNum = sprite->data5; + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); +} + +void sub_8035C44(u8 taskId) +{ + u8 r9; + + r9 = gActiveBank; + gActiveBank = gTasks[taskId].data[0]; + if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) + { + gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; + sub_803495C(gActiveBank, 0); + } + else + { + gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; + sub_803495C(gActiveBank, 0); + gActiveBank ^= 2; + gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; + sub_803495C(gActiveBank, 0); + gActiveBank ^= 2; + } + gBattleBankFunc[gActiveBank] = sub_8032E2C; + gActiveBank = r9; + DestroyTask(taskId); +} + +void dp01t_30_7_0803D67C(void) +{ + if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + { + OpponentBufferExecCompleted(); + return; + } + + ewram17810[gActiveBank].unk0_0 = 1; + if (gBattleBufferA[gActiveBank][2] != 0) + { + if (ewram17810[gActiveBank].unk1_1 < 2) + { + ewram17810[gActiveBank].unk1_1++; + return; + } + else + { + ewram17810[gActiveBank].unk1_1 = 0; + } + } + gUnknown_02024E68[gActiveBank] = sub_8044804( + gActiveBank, + (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], + gBattleBufferA[gActiveBank][1], + gBattleBufferA[gActiveBank][2]); + ewram17810[gActiveBank].unk5 = 0; + if (gBattleBufferA[gActiveBank][2] != 0) + ewram17810[gActiveBank].unk5 = 0x5D; + gBattleBankFunc[gActiveBank] = sub_8035E2C; +} + +void sub_8035E2C(void) +{ + if (ewram17810[gActiveBank].unk5++ >= 93) + { + ewram17810[gActiveBank].unk5 = 0; + OpponentBufferExecCompleted(); + } +} + +void sub_8035E6C(void) +{ + if (ewram17810[gActiveBank].unk0_0) + gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + OpponentBufferExecCompleted(); +} + +void sub_8035EB8(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandleSpriteInvisibility(void) +{ + if (sub_8078874(gActiveBank) != 0) + { + gSprites[gObjectBankIDs[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; + sub_8031F88(gActiveBank); + } + OpponentBufferExecCompleted(); +} + +void OpponentHandleBattleAnimation(void) +{ + if (mplay_80342A4(gActiveBank) == 0) + { + u8 r3 = gBattleBufferA[gActiveBank][1]; + u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + + if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + OpponentBufferExecCompleted(); + else + gBattleBankFunc[gActiveBank] = sub_80334C0; + } +} + +void OpponentHandleLinkStandbyMsg(void) +{ + OpponentBufferExecCompleted(); +} + +void OpponentHandleResetActionMoveSelection(void) +{ + OpponentBufferExecCompleted(); +} + +void sub_8035FA4(void) +{ + if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) + { + gMain.inBattle = FALSE; + gMain.callback1 = gPreBattleCallback1; + SetMainCallback2(gMain.savedCallback); + } + OpponentBufferExecCompleted(); +} + +void nullsub_46(void) +{ +} diff --git a/src/battle_ai.c b/src/battle_ai.c index 7f2646292..4206e8f83 100644 --- a/src/battle_ai.c +++ b/src/battle_ai.c @@ -38,7 +38,7 @@ the number of bytes that the current command had reserved for arguments in order to read the next command correctly. refer to battle_ai_scripts.s for the AI scripts. */ -extern u8 *gAIScriptPtr; +EWRAM_DATA u8 *gAIScriptPtr = NULL; static void BattleAICmd_if_random_less_than(void); static void BattleAICmd_if_random_greater_than(void); diff --git a/src/battle_anim.c b/src/battle_anim.c index 55ede1788..6bd98099a 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -49,9 +49,11 @@ extern u16 gUnknown_03004280; extern u16 gUnknown_03004288; extern u16 gUnknown_030042C0; extern u16 gUnknown_030042C4; -extern u16 gSoundAnimFramesToWait; -extern u16 gAnimSpriteIndexArray[8]; -extern s16 gBattleAnimArgs[8]; + +u16 gSoundAnimFramesToWait; +s16 gBattleAnimArgs[8]; +u16 gAnimSpriteIndexArray[8]; + extern struct MusicPlayerInfo gMPlay_BGM; extern struct MusicPlayerInfo gMPlay_SE1; extern struct MusicPlayerInfo gMPlay_SE2; diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 6cbc38ecc..ff430e7b2 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -28,16 +28,12 @@ struct Struct2000000 /*0x1FFFF*/ u8 var_1FFFF; }; -struct BerryTagStatus -{ - s16 circles[5]; -}; - extern struct Struct2000000 unk_2000000; -extern u8 gUnknown_0203932C; -extern struct BerryTagStatus gUnknown_0203932E; extern u16 gUnknown_030041B4; +static EWRAM_DATA u8 gUnknown_0203932C = 0; +static EWRAM_DATA s16 gUnknown_0203932E[5] = {0}; + extern const struct CompressedSpriteSheet gUnknown_083C1F74; extern const struct CompressedSpritePalette gUnknown_083C1F7C; @@ -336,19 +332,19 @@ static void sub_8146600(u8 berry) berryInfo = GetBerryInfo(berry + 1); for (i = 0; i < 5; i++) - gUnknown_0203932E.circles[i] = (u16)gUnknown_0203932E.circles[i] | 0xFFFF; + gUnknown_0203932E[i] = (u16)gUnknown_0203932E[i] | 0xFFFF; // argument is the center of the circle if (berryInfo->spicy) - gUnknown_0203932E.circles[0] = sub_80A7E5C(48); + gUnknown_0203932E[0] = sub_80A7E5C(48); if (berryInfo->dry) - gUnknown_0203932E.circles[1] = sub_80A7E5C(88); + gUnknown_0203932E[1] = sub_80A7E5C(88); if (berryInfo->sweet) - gUnknown_0203932E.circles[2] = sub_80A7E5C(128); + gUnknown_0203932E[2] = sub_80A7E5C(128); if (berryInfo->bitter) - gUnknown_0203932E.circles[3] = sub_80A7E5C(168); + gUnknown_0203932E[3] = sub_80A7E5C(168); if (berryInfo->sour) - gUnknown_0203932E.circles[4] = sub_80A7E5C(208); + gUnknown_0203932E[4] = sub_80A7E5C(208); } void sub_81466A0(void) @@ -357,10 +353,10 @@ void sub_81466A0(void) for (i = 0; i < 5; i++) { - if (gUnknown_0203932E.circles[i] != -1) + if (gUnknown_0203932E[i] != -1) { - DestroySprite(&gSprites[gUnknown_0203932E.circles[i]]); - gUnknown_0203932E.circles[i] = -1; + DestroySprite(&gSprites[gUnknown_0203932E[i]]); + gUnknown_0203932E[i] = -1; } } } diff --git a/src/bike.c b/src/bike.c index f37eb2144..58a4f38f4 100644 --- a/src/bike.c +++ b/src/bike.c @@ -15,8 +15,6 @@ extern u8 sub_80608A4(u8); extern u8 gUnknown_02039250; extern u8 gUnknown_02039251; extern u8 gUnknown_0202E854; -extern u8 gUnknown_0202E86C[]; -extern u8 gUnknown_0202E874[]; static void MovePlayerOnMachBike(u8, u16, u16); static u8 GetMachBikeTransition(u8 *); @@ -758,12 +756,12 @@ static bool8 sub_80E5BC8(const u8 *a, const u8 *b) for (i = 0; a[i] != 0; i++) { - if (gUnknown_0202E86C[i] > a[i]) + if (gPlayerAvatar.unk14[i] > a[i]) return FALSE; } for (i = 0; b[i] != 0; i++) { - if (gUnknown_0202E874[i] > b[i]) + if (gPlayerAvatar.unk1C[i] > b[i]) return FALSE; } return TRUE; diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index 4de945b9c..b8d7cd386 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -19,8 +19,6 @@ extern u8 gPlayerPartyCount; extern u8 gLastFieldPokeMenuOpened; -extern u32 gUnknown_0202FF84[]; - extern u8 gIslandCave_EventScript_OpenRegiiceChamber[]; // regiice event script bool8 ShouldDoBrailleDigEffect(void) diff --git a/src/cable_club.c b/src/cable_club.c index 70b372205..20b087f4e 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -13,7 +13,6 @@ extern u16 gScriptResult; extern struct TrainerCard gTrainerCards[4]; -extern struct LinkPlayer gLinkPlayers[]; extern u8 gUnknown_03004860; extern u8 gFieldLinkPlayerCount; diff --git a/src/choose_party.c b/src/choose_party.c index 63e9c8477..d8df44028 100644 --- a/src/choose_party.c +++ b/src/choose_party.c @@ -31,7 +31,6 @@ struct UnknownPokemonStruct2 /*0x1D*/ u8 language; }; -extern u8 gSelectedOrderFromParty[]; extern u8 gPlayerPartyCount; extern u8 gLastFieldPokeMenuOpened; extern u8 gUnknown_020384F0; @@ -40,6 +39,8 @@ extern u8 gUnknown_0202E8F6; extern struct Pokemon gUnknown_030042FC[]; extern const u16 gBattleTowerBanlist[]; +EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0}; + extern void OpenPartyMenu(); extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *); extern void LoadHeldItemIconGraphics(void); diff --git a/src/contest_painting.c b/src/contest_painting.c index d75947e05..391cbdfaa 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -14,18 +14,20 @@ #include "unknown_task.h" extern u8 unk_2000000[]; -extern u8 gUnknown_03000750; -extern u16 gUnknown_03000752; -extern u16 gUnknown_03000754; -extern u16 (*gUnknown_03005E10)[][32]; -extern u8 gUnknown_03005E40[]; -extern u16 (*gUnknown_03005E90)[]; + +static u8 gUnknown_03000750; +static u16 gUnknown_03000752; +static u16 gUnknown_03000754; +static u8 gUnknown_03000756; + +u16 (*gUnknown_03005E10)[][32]; +struct Unk03005E20 gUnknown_03005E20; +u8 gUnknown_03005E40[0x4C]; +struct ContestEntry *gUnknown_03005E8C; +u16 (*gUnknown_03005E90)[]; extern struct ContestEntry unk_2015de0; extern struct Unk2015E00 unk_2015e00; -extern struct Unk3000756 gUnknown_03000756; -extern struct Unk03005E20 gUnknown_03005E20; -extern struct ContestEntry *gUnknown_03005E8C; static const u16 gPictureFramePalettes[][16] = { @@ -220,7 +222,7 @@ static void HoldContestPainting(void) case 0: if (!gPaletteFade.active) gUnknown_03000750 = 1; - if (gUnknown_03000756.var_0 != 0 && gUnknown_03000754 != 0) + if (gUnknown_03000756 != 0 && gUnknown_03000754 != 0) gUnknown_03000754--; break; case 1: @@ -231,13 +233,13 @@ static void HoldContestPainting(void) gUnknown_03000750 = two; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); } - if (gUnknown_03000756.var_0 != 0) + if (gUnknown_03000756 != 0) gUnknown_03000754 = 0; break; case 2: if (!gPaletteFade.active) SetMainCallback2(CB2_QuitContestPainting); - if (gUnknown_03000756.var_0 != 0 && gUnknown_03000754 <= 0x1D) + if (gUnknown_03000756 != 0 && gUnknown_03000754 <= 0x1D) gUnknown_03000754++; break; } @@ -311,13 +313,13 @@ static void ContestPaintingInitVars(bool8 arg0) { if (arg0 == FALSE) { - gUnknown_03000756.var_0 = FALSE; + gUnknown_03000756 = FALSE; gUnknown_03000752 = 0; gUnknown_03000754 = 0; } else { - gUnknown_03000756.var_0 = TRUE; + gUnknown_03000756 = TRUE; gUnknown_03000752 = 15; gUnknown_03000754 = 30; } @@ -325,7 +327,7 @@ static void ContestPaintingInitVars(bool8 arg0) static void ContestPaintingMosaic(void) { - if (gUnknown_03000756.var_0 == FALSE) + if (gUnknown_03000756 == FALSE) { REG_MOSAIC = 0; return; diff --git a/src/credits.c b/src/credits.c index 8c4cfb84d..df70674b6 100644 --- a/src/credits.c +++ b/src/credits.c @@ -177,14 +177,15 @@ extern u16 unk_201f800[]; extern struct SpriteTemplate gUnknown_02024E8C; -extern s16 gUnknown_02039320; -extern u16 gUnknown_02039322; // TASK A -extern u8 gUnknown_02039324; -extern u8 gUnknown_02039325; extern u16 gUnknown_02039358; extern s16 gUnknown_0203935A; extern s16 gUnknown_0203935C; +static EWRAM_DATA s16 gUnknown_02039320 = 0; +static EWRAM_DATA u16 gUnknown_02039322 = 0; // TASK A +EWRAM_DATA u8 gUnknown_02039324 = 0; +static EWRAM_DATA u8 gUnknown_02039325 = 0; + extern u8 gReservedSpritePaletteCount; // data/hall_of_fame diff --git a/src/decoration.c b/src/decoration.c index e829cb072..da33b3ab7 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -19,6 +19,27 @@ #include "field_weather.h" #include "decoration.h" +EWRAM_DATA u8 *gUnknown_020388D0 = NULL; +EWRAM_DATA u8 gUnknown_020388D4 = 0; +EWRAM_DATA u8 gUnknown_020388D5 = 0; +EWRAM_DATA u8 gUnknown_020388D6[16] = {0}; +EWRAM_DATA u8 gUnknown_020388E6[12] = {0}; +EWRAM_DATA u8 gUnknown_020388F2 = 0; +EWRAM_DATA u8 gUnknown_020388F3 = 0; +EWRAM_DATA u8 gUnknown_020388F4 = 0; +EWRAM_DATA u8 gUnknown_020388F5 = 0; +EWRAM_DATA u8 gUnknown_020388F6 = 0; +EWRAM_DATA u8 gUnknown_020388F7[8] = {0}; +EWRAM_DATA struct UnkStruct_02038900 gUnknown_02038900 = {0}; +EWRAM_DATA u16 gUnknown_020391A4 = 0; +EWRAM_DATA u16 gUnknown_020391A6 = 0; +EWRAM_DATA u8 gUnknown_020391A8 = 0; +EWRAM_DATA u8 gUnknown_020391A9 = 0; +EWRAM_DATA u8 gUnknown_020391AA = 0; +EWRAM_DATA struct OamData gUnknown_020391AC = {0}; +EWRAM_DATA struct UnkStruct_020391B4 gUnknown_020391B4[16] = {0}; +EWRAM_DATA u8 gUnknown_02039234 = 0; + #if ENGLISH const u8 DecorDesc_SMALL_DESK[] = _( "A small desk built\n" diff --git a/src/event_data.c b/src/event_data.c index c6aecf13c..0484bae02 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -6,7 +6,23 @@ #define TEMP_UPPER_FLAGS_SIZE 0x8 #define TEMP_VARS_SIZE 0x20 -extern u8 gUnknown_0202E8E2[16]; +EWRAM_DATA u16 gSpecialVar_0x8000 = 0; +EWRAM_DATA u16 gSpecialVar_0x8001 = 0; +EWRAM_DATA u16 gSpecialVar_0x8002 = 0; +EWRAM_DATA u16 gSpecialVar_0x8003 = 0; +EWRAM_DATA u16 gSpecialVar_0x8004 = 0; +EWRAM_DATA u16 gSpecialVar_0x8005 = 0; +EWRAM_DATA u16 gSpecialVar_0x8006 = 0; +EWRAM_DATA u16 gSpecialVar_0x8007 = 0; +EWRAM_DATA u16 gSpecialVar_0x8008 = 0; +EWRAM_DATA u16 gSpecialVar_0x8009 = 0; +EWRAM_DATA u16 gSpecialVar_0x800A = 0; +EWRAM_DATA u16 gSpecialVar_0x800B = 0; +EWRAM_DATA u16 gScriptResult = 0; +EWRAM_DATA u16 gScriptLastTalked = 0; +EWRAM_DATA u16 gScriptFacing = 0; +EWRAM_DATA u8 gUnknown_0202E8E2[16] = {0}; + extern u16 *gSpecialVars[]; void InitEventData(void) diff --git a/src/field_camera.c b/src/field_camera.c index 1aed1549b..db51cf054 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -7,8 +7,7 @@ #include "sprite.h" #include "text.h" -extern u8 gUnknown_0202E854; - +EWRAM_DATA u8 gUnknown_0202E854 = 0; struct UnknownStruct { @@ -19,15 +18,15 @@ struct UnknownStruct bool8 unk4; }; -extern struct UnknownStruct gUnknown_03000590; -extern u16 gUnknown_03000598; -extern s16 gUnknown_0300059A; -extern u8 gUnknown_0300059C; -extern void (*gUnknown_030005A0)(void); +static struct UnknownStruct gUnknown_03000590; +static u16 gUnknown_03000598; +static s16 gUnknown_0300059A; +static u8 gUnknown_0300059C; +static void (*gUnknown_030005A0)(void); -extern struct CameraSomething gUnknown_03004880; -extern u16 gUnknown_03004898; -extern u16 gUnknown_0300489C; +struct CameraSomething gUnknown_03004880; +u16 gUnknown_03004898; +u16 gUnknown_0300489C; static void RedrawMapSliceNorth(struct UnknownStruct *a, struct MapData *mapData); static void RedrawMapSliceSouth(struct UnknownStruct *a, struct MapData *mapData); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index a4f52f4b9..a8f6b6b9b 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -35,8 +35,11 @@ extern u16 gScriptFacing; extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; -extern u8 gUnknown_0202E8C0; -extern u16 gUnknown_0202E8C2; + +static EWRAM_DATA u8 gUnknown_0202E8C0 = 0; +static EWRAM_DATA u16 gUnknown_0202E8C2 = 0; + +u8 gSelectedMapObject; //scripts extern u8 gUnknown_081A2C51[]; @@ -863,7 +866,7 @@ u8 *GetFieldObjectScriptPointerForComparison(void) return sub_8068364(&position, MapGridGetMetatileBehaviorAt(position.x, position.y), r4); } -int sub_8068FEC(void) +int SetCableClubWarp(void) { struct MapPosition position; diff --git a/src/field_effect.c b/src/field_effect.c index 889664dfa..3632d7053 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -28,6 +28,8 @@ #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} +EWRAM_DATA u32 gUnknown_0202FF84[8] = {0}; + const u32 gSpriteImage_839DC14[] = INCBIN_U32("graphics/birch_speech/birch.4bpp"); const u16 gBirchPalette[16] = INCBIN_U16("graphics/birch_speech/birch.gbapal"); const u32 gSpriteImage_839E434[] = INCBIN_U32("graphics/misc/pokeball_glow.4bpp"); diff --git a/src/field_map_obj.c b/src/field_map_obj.c index d94c97ff3..f60b1b233 100644 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -1902,8 +1902,11 @@ extern void CameraObjectReset1(void); extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; extern u8 gReservedSpritePaletteCount; extern struct Camera gUnknown_0202E844; -extern u8 gUnknown_030005A4; -extern u16 gUnknown_030005A6; + +static u8 gUnknown_030005A4; +static u16 gUnknown_030005A6; + +struct MapObject gMapObjects[16]; void npc_clear_ids_and_state(struct MapObject *mapObj) { @@ -3881,8 +3884,6 @@ u8 sub_805D314(struct MapObject *mapObject, struct Sprite *sprite) return gUnknown_083752D0[sprite->data1](mapObject, sprite); } -extern u32 gUnknown_0202FF84[]; - u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sprite) { u8 berryTreeStage; diff --git a/src/field_map_obj_helpers.c b/src/field_map_obj_helpers.c index 46784cff3..87be8e011 100644 --- a/src/field_map_obj_helpers.c +++ b/src/field_map_obj_helpers.c @@ -7,8 +7,6 @@ typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); -extern u32 gUnknown_0202FF84[]; - extern s16 gUnknown_08376194[]; extern SpriteStepFunc *gUnknown_08376180[]; extern s8 *gUnknown_083761D0[]; diff --git a/src/field_message_box.c b/src/field_message_box.c index 2cd2e66ab..35aac7ac9 100644 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -6,7 +6,7 @@ #include "text.h" #include "text_window.h" -extern struct Window gFieldMessageBoxWindow; +static EWRAM_DATA struct Window gFieldMessageBoxWindow = {0}; static u8 sMessageBoxMode; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 3cdb45584..2a7b2f3e0 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -24,7 +24,7 @@ #include "tv.h" #include "wild_encounter.h" -extern u32 gUnknown_0202FF84[]; +EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {0}; //Functions static bool8 sub_8058854(struct MapObject *, u8); diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index c6bd8cb77..79913e1c5 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1,4 +1,5 @@ #include "global.h" +#include "event_data.h" #include "field_camera.h" #include "menu.h" #include "palette.h" diff --git a/src/field_specials.c b/src/field_specials.c index 71de04f55..454bd8d96 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -41,8 +41,26 @@ #elif GERMAN #define CHAR_DECIMAL_SEPARATOR CHAR_COMMA #endif + +extern struct WarpData gUnknown_020297F0; +extern u8 gBattleOutcome; +extern u16 gSpecialVar_0x8004; +extern u16 gSpecialVar_0x8005; +extern u16 gScriptResult; + +EWRAM_DATA u8 gUnknown_02039250 = 0; +EWRAM_DATA u8 gUnknown_02039251 = 0; +EWRAM_DATA u32 gUnknown_02039254 = 0; +EWRAM_DATA u8 gUnknown_02039258 = 0; +EWRAM_DATA u8 gUnknown_02039259 = 0; +EWRAM_DATA u8 gUnknown_0203925A = 0; +EWRAM_DATA u8 gUnknown_0203925B = 0; +EWRAM_DATA u8 gUnknown_0203925C = 0; + static void RecordCyclingRoadResults(u32, u8); +static struct ElevatorMenu gUnknown_03000760[20]; + void sub_810D6A4(void) { SetMainCallback2(sub_8145D88); ScriptContext2_Enable(); diff --git a/src/fieldmap.c b/src/fieldmap.c index e573ec13a..0e0ec246c 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -25,6 +25,8 @@ EWRAM_DATA struct MapHeader gMapHeader = {0}; EWRAM_DATA struct Camera gUnknown_0202E844 = {0}; EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0}; +struct BackupMapData gUnknown_03004870; + static const struct ConnectionFlags sDummyConnectionFlags = {0}; struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection) diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index e837dbd45..b394d1e4c 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -27,7 +27,6 @@ extern struct SpriteTemplate gSpriteTemplate_CutGrass; extern struct MapPosition gUnknown_0203923C; extern u8 gLastFieldPokeMenuOpened; -extern u32 gUnknown_0202FF84[]; extern u8 UseCutScript; diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c new file mode 100644 index 000000000..6c2633567 --- /dev/null +++ b/src/fldeff_flash.c @@ -0,0 +1,306 @@ +#include "global.h" +#include "event_data.h" +#include "field_effect.h" +#include "main.h" +#include "palette.h" +#include "pokemon_menu.h" +#include "rom4.h" +#include "rom6.h" +#include "script.h" +#include "songs.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" + +struct FlashStruct +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + void (*func)(void); +}; + +extern struct FlashStruct gUnknown_083F7FC4[]; +extern u16 gCaveTransitionPalette_White[]; +extern u16 gCaveTransitionPalette_Black[]; +extern u16 gUnknown_083F808C[]; +extern u16 gUnknown_083F809C[]; +extern u16 gCaveTransitionTilemap[]; +extern u8 gCaveTransitionTiles[]; + +extern u8 gLastFieldPokeMenuOpened; +extern void (*gUnknown_03005CE4)(void); + +extern u8 gUnknown_081B694A[]; + +void sub_810CBFC(void); +void sub_810CC34(void); +bool8 sub_810CD5C(void); +void sub_810CE5C(u8); +void sub_810CE78(u8); +void sub_810CF18(u8); +void sub_810CF5C(u8); +void sub_810CFC4(u8); +void sub_810D00C(u8); +void sub_810D028(u8); +void sub_810D0C4(u8); +void sub_810D128(u8); + +bool8 SetUpFieldMove_Flash(void) +{ + if (gMapHeader.cave == TRUE && !FlagGet(SYS_USE_FLASH)) + { + gFieldCallback = sub_808AB90; + gUnknown_03005CE4 = sub_810CBFC; + return TRUE; + } + + return FALSE; +} + +void sub_810CBFC(void) +{ + u8 taskId = oei_task_add(); + gUnknown_0202FF84[0] = gLastFieldPokeMenuOpened; + gTasks[taskId].data[8] = (uintptr_t)sub_810CC34 >> 16; + gTasks[taskId].data[9] = (uintptr_t)sub_810CC34; +} + +void sub_810CC34(void) +{ + PlaySE(SE_W115); + FlagSet(SYS_USE_FLASH); + ScriptContext1_SetupScript(gUnknown_081B694A); +} + +void sub_810CC54(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void VBlankCB(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_810CC80(void) +{ + u16 ime; + + SetVBlankCallback(NULL); + REG_DISPCNT = 0; + REG_BG2CNT = 0; + REG_BG1CNT = 0; + REG_BG0CNT = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *)OAM, OAM_SIZE); + DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); + ResetPaletteFade(); + ResetTasks(); + ResetSpriteData(); + ime = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = ime; + SetVBlankCallback(VBlankCB); + SetMainCallback2(sub_810CC54); + if (!sub_810CD5C()) + SetMainCallback2(gMain.savedCallback); +} + +bool8 sub_810CD5C(void) +{ + u8 i; + u8 v0 = get_map_light_from_warp0(); + u8 v1 = sav1_map_get_light_level(); + + for (i = 0; gUnknown_083F7FC4[i].unk0; i++) + { + if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1) + { + gUnknown_083F7FC4[i].func(); + return TRUE; + } + } + + return FALSE; +} + +u8 sub_810CDB8(u8 a1, u8 a2) +{ + u8 i; + u8 v0 = a1; + u8 v1 = a2; + + for (i = 0; gUnknown_083F7FC4[i].unk0; i++) + { + if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1) + { + return gUnknown_083F7FC4[i].unk2; + } + } + + return FALSE; +} + +u8 fade_type_for_given_maplight_pair(u8 a1, u8 a2) +{ + u8 i; + u8 v0 = a1; + u8 v1 = a2; + + for (i = 0; gUnknown_083F7FC4[i].unk0; i++) + { + if (gUnknown_083F7FC4[i].unk0 == v0 && gUnknown_083F7FC4[i].unk1 == v1) + { + return gUnknown_083F7FC4[i].unk3; + } + } + + return FALSE; +} + +void sub_810CE48(void) +{ + CreateTask(sub_810CE5C, 0); +} + +void sub_810CE5C(u8 taskId) +{ + gTasks[taskId].func = sub_810CE78; +} + +void sub_810CE78(u8 taskId) +{ + REG_DISPCNT = 0; + LZ77UnCompVram(gCaveTransitionTiles, (void *)0x600C000); + LZ77UnCompVram(gCaveTransitionTilemap, (void *)0x600F800); + LoadPalette(gCaveTransitionPalette_White, 0xE0, 0x20); + LoadPalette(gUnknown_083F809C, 0xE0, 0x10); + REG_BLDCNT = 15937; + REG_BLDALPHA = 0; + REG_BLDY = 0; + REG_BG0CNT = 7948; + REG_DISPCNT = 4416; + gTasks[taskId].func = sub_810CF18; + gTasks[taskId].data[0] = 16; + gTasks[taskId].data[1] = 0; +} + +void sub_810CF18(u8 taskId) +{ + u16 count = gTasks[taskId].data[1]; + u16 blend = count + 0x1000; + REG_BLDALPHA = blend; + if (count <= 0x10) + { + gTasks[taskId].data[1]++; + } + else + { + gTasks[taskId].data[2] = 0; + gTasks[taskId].func = sub_810CF5C; + } +} + +void sub_810CF5C(u8 taskId) +{ + u16 count; + + REG_BLDALPHA = 4112; + + count = gTasks[taskId].data[2]; + + if (count < 8) + { + gTasks[taskId].data[2]++; + LoadPalette(&gUnknown_083F809C[count], 0xE0, 16 - 2 * count); + } + else + { + LoadPalette(gCaveTransitionPalette_White, 0, 0x20); + gTasks[taskId].func = sub_810CFC4; + gTasks[taskId].data[2] = 8; + } +} + +void sub_810CFC4(u8 taskId) +{ + if (gTasks[taskId].data[2]) + gTasks[taskId].data[2]--; + else + SetMainCallback2(gMain.savedCallback); +} + +void sub_810CFF8(void) +{ + CreateTask(sub_810D00C, 0); +} + +void sub_810D00C(u8 taskId) +{ + gTasks[taskId].func = sub_810D028; +} + +void sub_810D028(u8 taskId) +{ + REG_DISPCNT = 0; + LZ77UnCompVram(gCaveTransitionTiles, (void *)0x600C000); + LZ77UnCompVram(gCaveTransitionTilemap, (void *)0x600F800); + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + REG_BLDY = 0; + REG_BG0CNT = 7948; + REG_DISPCNT = 4416; + LoadPalette(gCaveTransitionPalette_White, 0xE0, 0x20); + LoadPalette(gCaveTransitionPalette_Black, 0, 0x20); + gTasks[taskId].func = sub_810D0C4; + gTasks[taskId].data[0] = 16; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = 0; +} + +void sub_810D0C4(u8 taskId) +{ + u16 count = gTasks[taskId].data[2]; + if (count < 16) + { + gTasks[taskId].data[2]++; + gTasks[taskId].data[2]++; + LoadPalette(&gUnknown_083F808C[15 - count], 0xE0, 2 * (count + 1)); + } + else + { + REG_BLDALPHA = 4112; + REG_BLDCNT = 15937; + gTasks[taskId].func = sub_810D128; + } +} + +void sub_810D128(u8 taskId) +{ + u16 count = 16 - gTasks[taskId].data[1]; + u16 blend = count + 0x1000; + REG_BLDALPHA = blend; + if (count) + { + gTasks[taskId].data[1]++; + } + else + { + LoadPalette(gCaveTransitionPalette_Black, 0, 0x20); + SetMainCallback2(gMain.savedCallback); + } +} diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 1edae09d4..81f4f63c6 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -13,8 +13,6 @@ static void sub_811AA18(void); static void sub_811AA38(void); static void sub_811AA9C(void); -extern u32 gUnknown_0202FF84[]; - extern u8 gLastFieldPokeMenuOpened; extern u16 gScriptResult; extern void (*gFieldCallback)(void); diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index 6e782f4ac..4c3e6bf4a 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -15,8 +15,6 @@ static void sub_812C01C(void); static void sub_812C084(u8); static void sub_812C118(u8); -extern u32 gUnknown_0202FF84[]; - extern u8 gLastFieldPokeMenuOpened; extern void (*gFieldCallback)(void); extern void (*gUnknown_03005CE4)(void); diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index df12d3072..74e68df06 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -7,8 +7,6 @@ #include "rom6.h" #include "task.h" -extern u32 gUnknown_0202FF84[]; - extern void (*gFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; extern void (*gUnknown_03005CE4)(void); diff --git a/src/intro.c b/src/intro.c index 462a2134d..a43e0356c 100644 --- a/src/intro.c +++ b/src/intro.c @@ -22,12 +22,8 @@ #include "unknown_task.h" extern struct SpriteTemplate gUnknown_02024E8C; -extern u16 gUnknown_02039318; -extern u16 gUnknown_0203931A; extern u16 gUnknown_02039358; extern u16 gUnknown_0203935A; -extern u32 gIntroFrameCounter; -extern struct GcmbStruct gMultibootProgramStruct; extern u16 gSaveFileStatus; extern u8 gReservedSpritePaletteCount; extern const u8 gInterfaceGfx_PokeBall[]; @@ -37,6 +33,12 @@ extern const u16 gIntroCopyright_Pal[]; extern const u16 gIntroCopyright_Tilemap[]; extern void *const gUnknown_0840B5A0[]; +static EWRAM_DATA u16 gUnknown_02039318 = 0; +static EWRAM_DATA u16 gUnknown_0203931A = 0; + +u32 gIntroFrameCounter; +struct GcmbStruct gMultibootProgramStruct; + //-------------------------------------------------- // Graphics Data //-------------------------------------------------- diff --git a/src/load_save.c b/src/load_save.c index 0630f060c..730aea2b8 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -19,7 +19,10 @@ struct LoadedSaveData struct MailStruct mail[16]; }; -extern struct LoadedSaveData gLoadedSaveData[]; +EWRAM_DATA struct SaveBlock2 gSaveBlock2 = {0}; +EWRAM_DATA struct SaveBlock1 gSaveBlock1 = {0}; + +static EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0}; void CheckForFlashMemory(void) { @@ -112,27 +115,27 @@ void LoadPlayerBag(void) // load player items. for (i = 0; i < 20; i++) - gLoadedSaveData->items[i] = gSaveBlock1.bagPocket_Items[i]; + gLoadedSaveData.items[i] = gSaveBlock1.bagPocket_Items[i]; // load player key items. for (i = 0; i < 20; i++) - gLoadedSaveData->keyItems[i] = gSaveBlock1.bagPocket_KeyItems[i]; + gLoadedSaveData.keyItems[i] = gSaveBlock1.bagPocket_KeyItems[i]; // load player pokeballs. for (i = 0; i < 16; i++) - gLoadedSaveData->pokeBalls[i] = gSaveBlock1.bagPocket_PokeBalls[i]; + gLoadedSaveData.pokeBalls[i] = gSaveBlock1.bagPocket_PokeBalls[i]; // load player TMs and HMs. for (i = 0; i < 64; i++) - gLoadedSaveData->TMsHMs[i] = gSaveBlock1.bagPocket_TMHM[i]; + gLoadedSaveData.TMsHMs[i] = gSaveBlock1.bagPocket_TMHM[i]; // load player berries. for (i = 0; i < 46; i++) - gLoadedSaveData->berries[i] = gSaveBlock1.bagPocket_Berries[i]; + gLoadedSaveData.berries[i] = gSaveBlock1.bagPocket_Berries[i]; // load mail. for (i = 0; i < 16; i++) - gLoadedSaveData->mail[i] = gSaveBlock1.mail[i]; + gLoadedSaveData.mail[i] = gSaveBlock1.mail[i]; } void SavePlayerBag(void) @@ -141,25 +144,25 @@ void SavePlayerBag(void) // save player items. for (i = 0; i < 20; i++) - gSaveBlock1.bagPocket_Items[i] = gLoadedSaveData->items[i]; + gSaveBlock1.bagPocket_Items[i] = gLoadedSaveData.items[i]; // save player key items. for (i = 0; i < 20; i++) - gSaveBlock1.bagPocket_KeyItems[i] = gLoadedSaveData->keyItems[i]; + gSaveBlock1.bagPocket_KeyItems[i] = gLoadedSaveData.keyItems[i]; // save player pokeballs. for (i = 0; i < 16; i++) - gSaveBlock1.bagPocket_PokeBalls[i] = gLoadedSaveData->pokeBalls[i]; + gSaveBlock1.bagPocket_PokeBalls[i] = gLoadedSaveData.pokeBalls[i]; // save player TMs and HMs. for (i = 0; i < 64; i++) - gSaveBlock1.bagPocket_TMHM[i] = gLoadedSaveData->TMsHMs[i]; + gSaveBlock1.bagPocket_TMHM[i] = gLoadedSaveData.TMsHMs[i]; // save player berries. for (i = 0; i < 46; i++) - gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData->berries[i]; + gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData.berries[i]; // save mail. for (i = 0; i < 16; i++) - gSaveBlock1.mail[i] = gLoadedSaveData->mail[i]; + gSaveBlock1.mail[i] = gLoadedSaveData.mail[i]; } diff --git a/src/menu_cursor.c b/src/menu_cursor.c index c007296dc..64ab36573 100644 --- a/src/menu_cursor.c +++ b/src/menu_cursor.c @@ -22,13 +22,12 @@ extern const struct Subsprite gUnknown_0842F790; extern u16 gUnknown_0203A360[]; -extern struct Subsprite gMenuCursorSubsprites[]; - -extern u8 gUnknown_0203A3D0; -extern u8 gUnknown_0203A3D1; -extern u8 gUnknown_0203A3D2; -extern u8 gUnknown_0203A3D3; -extern u8 gUnknown_0203A3D4; +EWRAM_DATA struct Subsprite gMenuCursorSubsprites[10] = {0}; +EWRAM_DATA u8 gUnknown_0203A3D0 = 0; +EWRAM_DATA u8 gUnknown_0203A3D1 = 0; +EWRAM_DATA u8 gUnknown_0203A3D2 = 0; +EWRAM_DATA u8 gUnknown_0203A3D3 = 0; +EWRAM_DATA u8 gUnknown_0203A3D4 = 0; void sub_814A590(void) { diff --git a/src/mon_markings.c b/src/mon_markings.c new file mode 100644 index 000000000..0cad8db59 --- /dev/null +++ b/src/mon_markings.c @@ -0,0 +1,383 @@ +#include "global.h" +#include "main.h" +#include "menu_cursor.h" +#include "text_window.h" +#include "songs.h" +#include "sound.h" +#include "sprite.h" + +#ifdef GERMAN +#define MENU_TEXT_SPRITE_X_OFFSET 24 +#else +#define MENU_TEXT_SPRITE_X_OFFSET 32 +#endif + +struct PokemonMarkMenu +{ + /*0x0000*/ u16 baseTileTag; + /*0x0002*/ u16 basePaletteTag; + /*0x0004*/ u8 markings; // bit flags + /*0x0005*/ s8 cursorPos; + /*0x0006*/ bool8 markingsArray[4]; + /*0x000A*/ u8 cursorBaseY; + /*0x000B*/ bool8 spriteSheetLoadRequired; + /*0x000C*/ struct Sprite *menuWindowSprites[2]; // upper and lower halves of menu window + /*0x0014*/ struct Sprite *menuMarkingSprites[4]; + /*0x0024*/ struct Sprite *menuTextSprite; + /*0x0028*/ u8 *frameTiles; + /*0x002C*/ u16 *framePalette; + /*0x0030*/ u8 menuWindowSpriteTiles[0x1000]; + /*0x1030*/ u8 filler1030[0x80]; + /*0x10B0*/ u8 tileLoadState; +}; + +extern u8 gPokenavConditionMenuMisc_Gfx[]; +extern u16 gUnknown_08E966B8[]; + +extern u16 gUnknown_083E49F4[]; +extern u8 gUnknown_083E4A14[]; +extern struct OamData gOamData_83E5214; +extern struct OamData gOamData_83E521C; +extern const union AnimCmd *const gSpriteAnimTable_83E5274[]; +extern const union AnimCmd *const gSpriteAnimTable_83E52AC[]; +extern struct OamData gOamData_83E52B4; +extern const union AnimCmd *const gSpriteAnimTable_83E533C[]; + +static EWRAM_DATA struct PokemonMarkMenu *sMenu = NULL; + +void sub_80F761C(s16, s16, u16, u16); +void nullsub_65(struct Sprite *); +void sub_80F78CC(struct Sprite *); +void sub_80F7908(struct Sprite *); +struct Sprite *sub_80F7960(u16, u16, u16 *, u16); + +void sub_80F727C(struct PokemonMarkMenu *ptr) +{ + sMenu = ptr; + sMenu->spriteSheetLoadRequired = FALSE; +} + +void sub_80F728C(void) +{ + const struct FrameGraphics *frame = GetTextWindowFrameGraphics(gSaveBlock2.optionsWindowFrameType); + sMenu->frameTiles = frame->tiles; + sMenu->framePalette = frame->palette; + sMenu->tileLoadState = 0; + CpuFill16(0, sMenu->menuWindowSpriteTiles, sizeof(sMenu->menuWindowSpriteTiles)); +} + +bool8 sub_80F72D4(void) +{ + u16 i; + u8 *dest = sMenu->menuWindowSpriteTiles + sMenu->tileLoadState * 0x100; + + switch (sMenu->tileLoadState) + { + case 0: + CpuFastCopy(sMenu->frameTiles, dest, TILE_SIZE_4BPP); + for (i = 0; i < 6; i++) + { + CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP, dest + TILE_SIZE_4BPP * (i + 1), TILE_SIZE_4BPP); + } + CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 2, dest + TILE_SIZE_4BPP * 7, TILE_SIZE_4BPP); + sMenu->tileLoadState++; + break; + default: + CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 3, dest, TILE_SIZE_4BPP); + for (i = 0; i < 6; i++) + { + CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 4, dest + TILE_SIZE_4BPP * (i + 1), TILE_SIZE_4BPP); + } + CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 5, dest + TILE_SIZE_4BPP * 7, TILE_SIZE_4BPP); + sMenu->tileLoadState++; + break; + case 13: + CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 6, dest, TILE_SIZE_4BPP); + for (i = 0; i < 6; i++) + { + CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 7, dest + TILE_SIZE_4BPP * (i + 1), TILE_SIZE_4BPP); + } + CpuFastCopy(sMenu->frameTiles + TILE_SIZE_4BPP * 8, dest + TILE_SIZE_4BPP * 7, TILE_SIZE_4BPP); + sMenu->tileLoadState++; + return FALSE; + case 14: + return FALSE; + } + + return TRUE; +} + +void sub_80F7404(void) +{ + sub_80F728C(); + while (sub_80F72D4()) + ; +} + +void sub_80F7418(u8 markings, s16 x, s16 y) +{ + u16 i; + sMenu->cursorPos = 0; + sMenu->markings = markings; + for (i = 0; i < 4; i++) + sMenu->markingsArray[i] = (sMenu->markings >> i) & 1; + DestroyMenuCursor(); + sub_80F761C(x, y, sMenu->baseTileTag, sMenu->basePaletteTag); +} + +void sub_80F7470(void) +{ + u16 i; + + for (i = 0; i < 3; i++) + { + FreeSpriteTilesByTag(sMenu->baseTileTag + i); + } + + FreeSpritePaletteByTag(sMenu->basePaletteTag); + FreeSpritePaletteByTag(sMenu->basePaletteTag + 1); + + for (i = 0; i < 2; i++) + { + if (!sMenu->menuWindowSprites[i]) + return; + DestroySprite(sMenu->menuWindowSprites[i]); + } + + for (i = 0; i < 4; i++) + { + if (!sMenu->menuMarkingSprites[i]) + return; + DestroySprite(sMenu->menuMarkingSprites[i]); + } + + DestroyMenuCursor(); + + if (sMenu->menuTextSprite) + DestroySprite(sMenu->menuTextSprite); +} + +bool8 sub_80F7500(void) +{ + u16 i; + struct SpriteSheet sheets[3] = + { + { sMenu->menuWindowSpriteTiles, 0x1000, sMenu->baseTileTag }, + { gPokenavConditionMenuMisc_Gfx, 0x520, sMenu->baseTileTag + 1 }, + { NULL, 0, 0 } + }; + + if (sMenu->spriteSheetLoadRequired) + { + LoadTilesForSpriteSheets(sheets); + sMenu->spriteSheetLoadRequired = FALSE; + } + + if (gMain.newKeys & DPAD_UP) + { + s8 pos; + PlaySE(SE_SELECT); + pos = --sMenu->cursorPos; + if (pos < 0) + sMenu->cursorPos = 5; + return TRUE; + } + + if (gMain.newKeys & DPAD_DOWN) + { + s8 pos; + PlaySE(SE_SELECT); + pos = ++sMenu->cursorPos; + if (pos > 5) + sMenu->cursorPos = 0; + return TRUE; + } + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + + switch (sMenu->cursorPos) + { + case 4: + sMenu->markings = 0; + for (i = 0; i < 4; i++) + sMenu->markings |= sMenu->markingsArray[i] << i; + return FALSE; + case 5: + return FALSE; + } + + sMenu->markingsArray[sMenu->cursorPos] = !sMenu->markingsArray[sMenu->cursorPos]; + return TRUE; + } + + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + return FALSE; + } + + return TRUE; +} + +void sub_80F761C(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag) +{ + u16 i; + u8 spriteId; + + struct SpriteSheet sheets[] = + { + { sMenu->menuWindowSpriteTiles, 0x1000, baseTileTag }, + { gPokenavConditionMenuMisc_Gfx, 0x520, baseTileTag + 1 }, + { NULL, 0 } + }; + + struct SpritePalette palettes[] = + { + { sMenu->framePalette, basePaletteTag }, + { gUnknown_08E966B8, basePaletteTag + 1}, + { NULL, 0 } + }; + + struct SpriteTemplate sprTemplate = + { + baseTileTag, + basePaletteTag, + &gOamData_83E5214, + gSpriteAnimTable_83E52AC, + NULL, + gDummySpriteAffineAnimTable, + nullsub_65, + }; + + sMenu->spriteSheetLoadRequired = TRUE; + AllocTilesForSpriteSheets(sheets); + LoadSpritePalettes(palettes); + + for (i = 0; i < 2; i++) + { + spriteId = CreateSprite(&sprTemplate, x + 32, y + 32, 2); + if (spriteId != 64) + { + sMenu->menuWindowSprites[i] = &gSprites[spriteId]; + StartSpriteAnim(&gSprites[spriteId], i); + } + else + { + sMenu->menuWindowSprites[i] = NULL; + return; + } + } + + sMenu->menuWindowSprites[1]->pos1.y = y + 96; + + sprTemplate.tileTag++; + sprTemplate.paletteTag++; + sprTemplate.anims = gSpriteAnimTable_83E5274; + sprTemplate.callback = sub_80F78CC; + sprTemplate.oam = &gOamData_83E521C; + + for (i = 0; i < 4; i++) + { + spriteId = CreateSprite(&sprTemplate, x + 32, y + 16 + 16 * i, 1); + if (spriteId != 64) + { + sMenu->menuMarkingSprites[i] = &gSprites[spriteId]; + gSprites[spriteId].data0 = i; + } + else + { + sMenu->menuMarkingSprites[i] = NULL; + return; + } + } + + sprTemplate.callback = SpriteCallbackDummy; + + spriteId = CreateSprite(&sprTemplate, 0, 0, 1); + + if (spriteId != 64) + { + sMenu->menuTextSprite = &gSprites[spriteId]; + sMenu->menuTextSprite->oam.shape = ST_OAM_H_RECTANGLE; + sMenu->menuTextSprite->oam.size = 3; + StartSpriteAnim(sMenu->menuTextSprite, 9); + sMenu->menuTextSprite->pos1.x = x + MENU_TEXT_SPRITE_X_OFFSET; + sMenu->menuTextSprite->pos1.y = y + 80; + CalcCenterToCornerVec(sMenu->menuTextSprite, 1, 2, 0); + } + else + { + sMenu->menuTextSprite = NULL; + } + + sMenu->cursorBaseY = y + 8; + sub_814A5C0(0, basePaletteTag + 1, 15, 0, 0x30); + sub_814A880(x + 8, sMenu->cursorBaseY); + sub_814AABC(sub_80F7908); +} + +void nullsub_65(struct Sprite *sprite) +{ +} + +void sub_80F78CC(struct Sprite *sprite) +{ + if (sMenu->markingsArray[sprite->data0]) + StartSpriteAnim(sprite, 2 * sprite->data0 + 1); + else + StartSpriteAnim(sprite, 2 * sprite->data0); +} + +void sub_80F7908(struct Sprite *sprite) +{ + sprite->pos1.y = 16 * sMenu->cursorPos + sMenu->cursorBaseY; +} + +struct Sprite *sub_80F7920(u16 tileTag, u16 paletteTag, u16 *palette) +{ + if (!palette) + palette = gUnknown_083E49F4; + return sub_80F7960(tileTag, paletteTag, palette, 16); +} + +struct Sprite *sub_80F7940(u16 tileTag, u16 paletteTag, u16 *palette) +{ + if (!palette) + palette = gUnknown_083E49F4; + return sub_80F7960(tileTag, paletteTag, palette, 1); +} + +struct Sprite *sub_80F7960(u16 tileTag, u16 paletteTag, u16 *palette, u16 size) +{ + u8 spriteId; + struct SpriteTemplate sprTemplate; + struct SpriteSheet sheet = { gUnknown_083E4A14, 0x80, tileTag }; + struct SpritePalette sprPalette = { palette, paletteTag }; + + sprTemplate.tileTag = tileTag; + sprTemplate.paletteTag = paletteTag; + sprTemplate.oam = &gOamData_83E52B4; + sprTemplate.anims = gSpriteAnimTable_83E533C; + sprTemplate.images = NULL; + sprTemplate.affineAnims = gDummySpriteAffineAnimTable; + sprTemplate.callback = nullsub_65; + + sheet.size = size * 0x80; + + LoadSpriteSheet(&sheet); + LoadSpritePalette(&sprPalette); + + spriteId = CreateSprite(&sprTemplate, 0, 0, 0); + if (spriteId != 64) + return &gSprites[spriteId]; + else + return NULL; +} + +void sub_80F7A10(u8 markings, void *dest) +{ + void *src = gUnknown_083E4A14 + markings * 0x80; + DmaCopy16(3, src, dest, 0x80); +} diff --git a/src/money.c b/src/money.c index ab4508a39..5d9d0b689 100644 --- a/src/money.c +++ b/src/money.c @@ -8,7 +8,8 @@ #define SPRITE_TAG_MONEY (0x2722) extern u16 gSpecialVar_0x8005; -extern u8 gUnknown_02038734; + +static EWRAM_DATA u8 gUnknown_02038734 = 0; extern const struct CompressedSpriteSheet gUnknown_083CF584; extern const struct CompressedSpritePalette gUnknown_083CF58C; diff --git a/src/mori_debug_menu.c b/src/mori_debug_menu.c index 2d9e3fa6f..273191192 100644 --- a/src/mori_debug_menu.c +++ b/src/mori_debug_menu.c @@ -12,9 +12,10 @@ #define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT) -extern u8 gUnknown_03004DA0[]; extern u8 (*gCallback_03004AE8)(void); +u8 gUnknown_03004DA0[0x20]; + extern u8 gUnknown_0839B22C[][3]; extern u8 gUnknown_0839B24A[]; extern u8 gUnknown_0839B24D[]; diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 4be5dec1c..89978f635 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -15,7 +15,8 @@ #include "text.h" extern u8 unk_2000000[]; -extern u8 gUnknown_02039338; + +static EWRAM_DATA u8 gUnknown_02039338 = 0; static void VBlankCB(void); static bool8 CheckLanguageMatch(void); diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 45ef719da..f7a1b633d 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -16,13 +16,13 @@ #define UNK_MASK_2 0x80 #endif -extern struct ScriptContext gUnknown_02039288; - extern ScrCmdFunc gScriptFuncs[]; extern ScrCmdFunc gScriptFuncs_End[]; extern u8 gOtherText_DataCannotUseVersion[]; +static EWRAM_DATA struct ScriptContext gUnknown_02039288 = {0}; + bool32 sub_8126098(u16 a1, u32 a2, u16 a3, u32 a4) { if (!(a1 & UNK_MASK_1)) diff --git a/src/new_game.c b/src/new_game.c index 4b6ea1dd2..226ac9bb7 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -26,7 +26,8 @@ #include "secret_base.h" #include "tv.h" -extern u8 gDifferentSaveFile; +EWRAM_DATA u8 gDifferentSaveFile = 0; +EWRAM_DATA u8 gUnknown_020297ED = 0; extern u8 gPlayerPartyCount; extern u8 gUnknown_03005CE8; diff --git a/src/player_pc.c b/src/player_pc.c index adff9971a..6d52c560a 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -32,8 +32,9 @@ extern u8 sub_807D770(void); extern void sub_808B020(void); extern void sub_80F944C(void); -extern u8 *gPcItemMenuOptionOrder; -extern u8 gPcItemMenuOptionsNum; +static EWRAM_DATA u8 *gPcItemMenuOptionOrder = NULL; + +static u8 gPcItemMenuOptionsNum; extern u8 gUnknown_02038561; diff --git a/src/pokeblock.c b/src/pokeblock.c index b7fa5daa8..775280f6e 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -26,8 +26,24 @@ #include "songs.h" #include "safari_zone.h" #include "use_pokeblock.h" +#include "event_data.h" #include "pokeblock.h" +struct UnkPokeblockStruct +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; +}; + +extern u8 ewram[]; + + +static EWRAM_DATA u8 gUnknown_02039244 = 0; +static EWRAM_DATA struct UnkPokeblockStruct gUnknown_02039248 = {0}; +static EWRAM_DATA u8 gUnknown_0203924C = 0; + // function declarations // gUnknown_083F7EF4 @@ -76,6 +92,8 @@ static void sub_810C5EC(u8); // sub_810C610 static void sub_810C704(u8); +static const u8 *gUnknown_03000758; + // rodata #define GFX_TAG_POKEBLOCK_CASE 14800 @@ -313,7 +331,7 @@ static bool8 sub_810B6C0(void) case 15: sub_810BB0C(); sub_810BB30(); - sub_810BC84(gUnknown_02039248[1]); + sub_810BC84(gUnknown_02039248.unk1); gMain.state++; break; case 16: @@ -453,7 +471,7 @@ static void sub_810BB88(u8 a0) for (i=a0; i<=a0+8; i++) { y = (i - a0) << 1; - if (i == gUnknown_02039248[2]) + if (i == gUnknown_02039248.unk2) { buf = sub_8072C74(gStringVar1, gContestStatsText_StowCase, 0x78, 0); MenuPrint(gStringVar1, 15, y + 1); @@ -500,23 +518,23 @@ static void sub_810BC98(void) static void sub_810BD08(void) { u8 i; - gUnknown_02039248[2] = 0; + gUnknown_02039248.unk2 = 0; for (i=0; i<40; i++) { if (gSaveBlock1.pokeblocks[i].color != 0) - gUnknown_02039248[2]++; + gUnknown_02039248.unk2++; } - if (gUnknown_02039248[2] < 8) + if (gUnknown_02039248.unk2 < 8) { - gUnknown_02039248[3] = gUnknown_02039248[2]; + gUnknown_02039248.unk3 = gUnknown_02039248.unk2; } else { - gUnknown_02039248[3] = 8; + gUnknown_02039248.unk3 = 8; } - if (gUnknown_02039248[1] + 8 > gUnknown_02039248[2] && gUnknown_02039248[1] != 0) + if (gUnknown_02039248.unk1 + 8 > gUnknown_02039248.unk2 && gUnknown_02039248.unk1 != 0) { - gUnknown_02039248[1]--; + gUnknown_02039248.unk1--; } } @@ -526,8 +544,8 @@ static void sub_810BD64(u16 a0, u16 a1) int y; for (i=0; i<14; i++) { - gBGTilemapBuffers[2][(2 * gUnknown_02039248[0] + 1) * 32 + (y = i + 15)] = a0; - gBGTilemapBuffers[2][(2 * gUnknown_02039248[0] + 2) * 32 + y] = a0; + gBGTilemapBuffers[2][(2 * gUnknown_02039248.unk0 + 1) * 32 + (y = i + 15)] = a0; + gBGTilemapBuffers[2][(2 * gUnknown_02039248.unk0 + 2) * 32 + y] = a0; } } @@ -543,7 +561,7 @@ static void sub_810BDAC(bool8 flag) { sub_810BD64(0x2005, 0x2014); } - if (gUnknown_02039248[1]) + if (gUnknown_02039248.unk1) { sub_80F979C(0, 0); } @@ -551,7 +569,7 @@ static void sub_810BDAC(bool8 flag) { sub_80F979C(0, 1); } - if (gUnknown_02039248[2] > gUnknown_02039248[3] && gUnknown_02039248[1] + gUnknown_02039248[3] != gUnknown_02039248[2]) + if (gUnknown_02039248.unk2 > gUnknown_02039248.unk3 && gUnknown_02039248.unk1 + gUnknown_02039248.unk3 != gUnknown_02039248.unk2) { sub_80F979C(1, 0); } @@ -562,9 +580,9 @@ static void sub_810BDAC(bool8 flag) for (i=0; i<5; i++) { v0 = ((i % 3) << 6) + 0x1a1 + (i / 3) * 6; - if (gUnknown_02039248[0] + gUnknown_02039248[1] != gUnknown_02039248[2]) + if (gUnknown_02039248.unk0 + gUnknown_02039248.unk1 != gUnknown_02039248.unk2) { - if (sub_810CA9C(&gSaveBlock1.pokeblocks[gUnknown_02039248[0] + gUnknown_02039248[1]], i + 1) > 0) + if (sub_810CA9C(&gSaveBlock1.pokeblocks[gUnknown_02039248.unk0 + gUnknown_02039248.unk1], i + 1) > 0) { gBGTilemapBuffers[2][v0] = (i << 12) + 23; gBGTilemapBuffers[2][v0 + 32] = (i << 12) + 24; @@ -582,9 +600,9 @@ static void sub_810BDAC(bool8 flag) } } BasicInitMenuWindow(&gWindowConfig_81E6E34); - if (gUnknown_02039248[0] + gUnknown_02039248[1] != gUnknown_02039248[2]) + if (gUnknown_02039248.unk0 + gUnknown_02039248.unk1 != gUnknown_02039248.unk2) { - sub_8072C14(gStringVar1, sub_810C9E8(&gSaveBlock1.pokeblocks[gUnknown_02039248[0] + gUnknown_02039248[1]]), 16, 1); + sub_8072C14(gStringVar1, sub_810C9E8(&gSaveBlock1.pokeblocks[gUnknown_02039248.unk0 + gUnknown_02039248.unk1]), 16, 1); MenuPrint(gStringVar1, 11, 17); } else @@ -606,48 +624,48 @@ static void sub_810BF7C(u8 taskId) { if (gMain.newAndRepeatedKeys & DPAD_UP) { - if (gUnknown_02039248[0] != 0) + if (gUnknown_02039248.unk0 != 0) { sub_810BD64(5, 20); - gUnknown_02039248[0]--; + gUnknown_02039248.unk0--; sub_810BF38(FALSE); } - else if (gUnknown_02039248[1] != 0) + else if (gUnknown_02039248.unk1 != 0) { - gUnknown_02039248[1]--; - sub_810BB88(gUnknown_02039248[1]); + gUnknown_02039248.unk1--; + sub_810BB88(gUnknown_02039248.unk1); sub_810BF38(FALSE); } } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - if (gUnknown_02039248[0] != gUnknown_02039248[3]) + if (gUnknown_02039248.unk0 != gUnknown_02039248.unk3) { sub_810BD64(5, 20); - gUnknown_02039248[0]++; + gUnknown_02039248.unk0++; sub_810BF38(FALSE); } - else if (gUnknown_02039248[1] + gUnknown_02039248[0] != gUnknown_02039248[2]) + else if (gUnknown_02039248.unk1 + gUnknown_02039248.unk0 != gUnknown_02039248.unk2) { - gUnknown_02039248[1]++; - sub_810BB88(gUnknown_02039248[1]); + gUnknown_02039248.unk1++; + sub_810BB88(gUnknown_02039248.unk1); sub_810BF38(FALSE); } } else if (gMain.newKeys & SELECT_BUTTON) { - if (gUnknown_02039248[1] + gUnknown_02039248[0] != gUnknown_02039248[2]) + if (gUnknown_02039248.unk1 + gUnknown_02039248.unk0 != gUnknown_02039248.unk2) { PlaySE(SE_SELECT); sub_810BDAC(TRUE); - gTasks[taskId].data[0] = gUnknown_02039248[1] + gUnknown_02039248[0]; + gTasks[taskId].data[0] = gUnknown_02039248.unk1 + gUnknown_02039248.unk0; gTasks[taskId].func = sub_810C0C8; } } else if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - if (gUnknown_02039248[1] + gUnknown_02039248[0] == gUnknown_02039248[2]) + if (gUnknown_02039248.unk1 + gUnknown_02039248.unk0 == gUnknown_02039248.unk2) { gScriptResult = 0xffff; sub_810C31C(taskId); @@ -670,36 +688,36 @@ static void sub_810C0C8(u8 taskId) { if (gMain.newAndRepeatedKeys & DPAD_UP) { - if (gUnknown_02039248[0] != 0) + if (gUnknown_02039248.unk0 != 0) { sub_810BD64(5, 20); - gUnknown_02039248[0]--; + gUnknown_02039248.unk0--; sub_810BF38(TRUE); sub_810C1C8(taskId, 1); } - else if (gUnknown_02039248[1] != 0) + else if (gUnknown_02039248.unk1 != 0) { sub_810C1C8(taskId, 0); - gUnknown_02039248[1]--; - sub_810BB88(gUnknown_02039248[1]); + gUnknown_02039248.unk1--; + sub_810BB88(gUnknown_02039248.unk1); sub_810BF38(TRUE); sub_810C1C8(taskId, 1); } } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - if (gUnknown_02039248[0] != gUnknown_02039248[3]) + if (gUnknown_02039248.unk0 != gUnknown_02039248.unk3) { sub_810BD64(5, 20); - gUnknown_02039248[0]++; + gUnknown_02039248.unk0++; sub_810BF38(TRUE); sub_810C1C8(taskId, 1); } - else if (gUnknown_02039248[1] + gUnknown_02039248[0] != gUnknown_02039248[2]) + else if (gUnknown_02039248.unk1 + gUnknown_02039248.unk0 != gUnknown_02039248.unk2) { sub_810C1C8(taskId, 0); - gUnknown_02039248[1]++; - sub_810BB88(gUnknown_02039248[1]); + gUnknown_02039248.unk1++; + sub_810BB88(gUnknown_02039248.unk1); sub_810BF38(TRUE); sub_810C1C8(taskId, 1); } @@ -730,8 +748,8 @@ static void sub_810C1C8(u8 taskId, u8 flag) { v0 = 0x0005; } - y = gTasks[taskId].data[0] - gUnknown_02039248[1]; - if ((u16)y <= 8 && y != gUnknown_02039248[0]) + y = gTasks[taskId].data[0] - gUnknown_02039248.unk1; + if ((u16)y <= 8 && y != gUnknown_02039248.unk0) { for (i=0; i<14; i++) { @@ -744,8 +762,8 @@ static void sub_810C1C8(u8 taskId, u8 flag) static void sub_810C23C(u8 taskId) { struct Pokeblock buf; - u8 selidx = gUnknown_02039248[1] + gUnknown_02039248[0]; - if (selidx == gUnknown_02039248[2]) + u8 selidx = gUnknown_02039248.unk1 + gUnknown_02039248.unk0; + if (selidx == gUnknown_02039248.unk2) { sub_810BDAC(FALSE); } @@ -754,7 +772,7 @@ static void sub_810C23C(u8 taskId) buf = gSaveBlock1.pokeblocks[selidx]; gSaveBlock1.pokeblocks[selidx] = gSaveBlock1.pokeblocks[gTasks[taskId].data[0]]; gSaveBlock1.pokeblocks[gTasks[taskId].data[0]] = buf; - sub_810BB88(gUnknown_02039248[1]); + sub_810BB88(gUnknown_02039248.unk1); sub_810BDAC(FALSE); } } @@ -801,7 +819,7 @@ static void sub_810C368(u8 taskId) MenuDrawTextWindow(7, v0 + 4, 13, 11); PrintMenuItemsReordered(8, v0 + 5, gUnknown_0203924C, (const struct MenuAction *)gUnknown_083F7EF4, gUnknown_03000758); InitMenu(0, 8, v0 + 5, gUnknown_0203924C, 0, 5); - gScriptItemId = gUnknown_02039248[0] + gUnknown_02039248[1]; + gScriptItemId = gUnknown_02039248.unk0 + gUnknown_02039248.unk1; gTasks[taskId].func = sub_810C40C; } @@ -856,7 +874,7 @@ static void sub_810C540(u8 taskId) BasicInitMenuWindow(&gWindowConfig_81E6E50); HandleDestroyMenuCursors(); MenuZeroFillWindowRect(7, 4, 13, 11); - StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1.pokeblocks[gUnknown_02039248[0] + gUnknown_02039248[1]].color]); + StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1.pokeblocks[gUnknown_02039248.unk0 + gUnknown_02039248.unk1].color]); StringExpandPlaceholders(gStringVar4, gContestStatsText_ThrowAwayPrompt); DisplayItemMessageOnField(taskId, gStringVar4, sub_810C5EC, 0); } @@ -876,7 +894,7 @@ static void sub_810C5EC(u8 taskId) static void sub_810C610(u8 taskId) { MenuZeroFillWindowRect(7, 6, 13, 11); - sub_810CA6C((gUnknown_02039248[0] + gUnknown_02039248[1])); + sub_810CA6C((gUnknown_02039248.unk0 + gUnknown_02039248.unk1)); StringExpandPlaceholders(gStringVar4, gContestStatsText_WasThrownAway); DisplayItemMessageOnField(taskId, gStringVar4, sub_810C704, 0); sub_810BC98(); @@ -887,7 +905,7 @@ static void sub_810C668(u8 taskId) { StartVerticalScrollIndicators(0); StartVerticalScrollIndicators(1); - if (gUnknown_02039248[2] > gUnknown_02039248[3] && gUnknown_02039248[1] + gUnknown_02039248[3] != gUnknown_02039248[2]) + if (gUnknown_02039248.unk2 > gUnknown_02039248.unk3 && gUnknown_02039248.unk1 + gUnknown_02039248.unk3 != gUnknown_02039248.unk2) { sub_80F979C(1, 0); } @@ -908,7 +926,7 @@ static void sub_810C6DC(u8 taskId) static void sub_810C704(u8 taskId) { BasicInitMenuWindow(&gWindowConfig_81E6E34); - sub_810BC84(gUnknown_02039248[1]); + sub_810BC84(gUnknown_02039248.unk1); sub_80F979C(1, 1); gTasks[taskId].func = sub_810C6DC; } diff --git a/src/pokedex.c b/src/pokedex.c index 2ef91e472..c132635cb 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -143,13 +143,7 @@ struct UnknownStruct4 extern struct MusicPlayerInfo gMPlay_BGM; extern u8 gReservedSpritePaletteCount; -extern struct PokedexView *gPokedexView; extern struct SpriteTemplate gUnknown_02024E8C; -extern u16 gUnknown_0202FFB8; -extern u8 gUnknown_0202FFBA; -extern struct PokedexListItem *gUnknown_0202FFBC; -extern u8 gUnknown_03005CE8; -extern IntrCallback gUnknown_03005CEC; extern u8 gUnknown_03005E98; extern const u8 gPokedexMenu_Gfx[]; extern const u8 gUnknown_08E96738[]; @@ -171,6 +165,14 @@ extern const u16 gPokedexMenuSearch_Pal[]; extern const u8 gTypeNames[][7]; extern const u8 gPokedexMenu2_Gfx[]; +static EWRAM_DATA struct PokedexView *gPokedexView = NULL; +static EWRAM_DATA u16 gUnknown_0202FFB8 = 0; +static EWRAM_DATA u8 gUnknown_0202FFBA = 0; +static EWRAM_DATA struct PokedexListItem *gUnknown_0202FFBC = NULL; + +u8 gUnknown_03005CE8; +IntrCallback gUnknown_03005CEC; + static u8 sub_8091E3C(void); static const u16 sPokedexSearchPalette[] = INCBIN_U16("graphics/pokedex/search.gbapal"); diff --git a/src/pokemon_1.c b/src/pokemon_1.c index 231fc33ed..c65bfa185 100644 --- a/src/pokemon_1.c +++ b/src/pokemon_1.c @@ -18,7 +18,13 @@ extern u8 unk_2000000[]; extern u16 word_2024E82; -extern u8 byte_2024E88; + +static EWRAM_DATA u8 byte_2024E88 = 0; + +u8 gPlayerPartyCount; +struct Pokemon gPlayerParty[6]; +u8 gEnemyPartyCount; +struct Pokemon gEnemyParty[6]; void ZeroBoxMonData(struct BoxPokemon *boxMon) { diff --git a/src/pokemon_2.c b/src/pokemon_2.c index 543b032e2..a77edbdb2 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -31,10 +31,11 @@ extern u8 gXXX_CritRelated; extern u16 gBattleWeather; extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gBattleMovePower; -extern struct SpriteTemplate gUnknown_02024E8C; extern u16 gTrainerBattleOpponent; extern struct PokemonStorage gPokemonStorage; +EWRAM_DATA struct SpriteTemplate gUnknown_02024E8C = {0}; + extern u8 gBadEggNickname[]; extern const struct SpriteTemplate gSpriteTemplate_8208288[]; //array of pointers to arrays of pointers to union AnimCmd (We probably need to typedef this.) diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c new file mode 100644 index 000000000..8994ea49e --- /dev/null +++ b/src/pokemon_icon.c @@ -0,0 +1,1276 @@ +#include "global.h" +#include "graphics.h" +#include "mail_data.h" +#include "species.h" +#include "sprite.h" + +#define POKE_ICON_BASE_PAL_TAG 56000 + +struct MonIconSpriteTemplate +{ + const struct OamData *oam; + const u8 *image; + const union AnimCmd *const *anims; + const union AffineAnimCmd *const *affineAnims; + void (*callback)(struct Sprite *); + u16 paletteTag; +}; + +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 }, +}; + +static const struct OamData sMonIconOamData = +{ + .size = 2, + .priority = 1, +}; + +// 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), +}; + +static 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, +}; + +static 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 + }, +}; + +u16 GetUnownLetterByPersonality(u32); +const u8 *GetMonIconPtr(u16, u32 personality); +u8 UpdateMonIconFrame(struct Sprite *); +u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8); +void sub_809D7E8(struct Sprite *); + +// duplicate of sub_809D3A4 +u8 unref_sub_809D26C(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) +{ + u8 spriteId; + struct MonIconSpriteTemplate iconTemplate; + struct MonIconSpriteTemplate *iconTemplatePtr = &iconTemplate; // needed to match + + iconTemplatePtr->oam = &sMonIconOamData; + iconTemplatePtr->image = gMonIconTable[species]; + iconTemplatePtr->anims = sMonIconAnims; + iconTemplatePtr->affineAnims = sMonIconAffineAnims; + iconTemplatePtr->callback = callback; + iconTemplatePtr->paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species]; + + spriteId = CreateMonIconSprite(iconTemplatePtr, x, y, subpriority); + + UpdateMonIconFrame(&gSprites[spriteId]); + + return spriteId; +} + +u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality) +{ + u8 spriteId; + struct MonIconSpriteTemplate iconTemplate = + { + .oam = &sMonIconOamData, + .image = GetMonIconPtr(species, personality), + .anims = sMonIconAnims, + .affineAnims = sMonIconAffineAnims, + .callback = callback, + .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species], + }; + + if (species > SPECIES_EGG) + iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG; + + spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); + + UpdateMonIconFrame(&gSprites[spriteId]); + + return spriteId; +} + +u8 sub_809D3A4(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) +{ + u8 spriteId; + struct MonIconSpriteTemplate iconTemplate; + struct MonIconSpriteTemplate *iconTemplatePtr = &iconTemplate; // needed to match + + iconTemplatePtr->oam = &sMonIconOamData; + iconTemplatePtr->image = gMonIconTable[species]; + iconTemplatePtr->anims = sMonIconAnims; + iconTemplatePtr->affineAnims = sMonIconAffineAnims; + iconTemplatePtr->callback = callback; + iconTemplatePtr->paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species]; + + spriteId = CreateMonIconSprite(iconTemplatePtr, x, y, subpriority); + + UpdateMonIconFrame(&gSprites[spriteId]); + + return spriteId; +} + +u16 mon_icon_convert_unown_species_id(u16 species, u32 personality) +{ + u16 result; + + if (species == SPECIES_UNOWN) + { + u16 letter = GetUnownLetterByPersonality(personality); + if (letter == 0) + letter = SPECIES_UNOWN; + else + letter += (SPECIES_UNOWN_B - 1); + result = letter; + } + else + { + if (species > SPECIES_EGG) + result = 260; + else + result = species; + } + + return result; +} + +u16 GetUnownLetterByPersonality(u32 personality) +{ + return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C; +} + +u16 sub_809D4A8(u16 species) +{ + u16 value; + + if (MailSpeciesToSpecies(species, &value) == SPECIES_UNOWN) + { + if (value == 0) + value += SPECIES_UNOWN; + else + value += (SPECIES_UNOWN_B - 1); + return value; + } + else + { + return mon_icon_convert_unown_species_id(species, 0); + } +} + +const u8 *GetMonIconPtr(u16 species, u32 personality) +{ + u16 convertedSpecies = mon_icon_convert_unown_species_id(species, personality); + return gMonIconTable[convertedSpecies]; +} + +void sub_809D510(struct Sprite *sprite) +{ + sub_809D7E8(sprite); +} + +void sub_809D51C(void) +{ + u8 i; + for (i = 0; i < 6; i++) + LoadSpritePalette(&gMonIconPaletteTable[i]); +} + +// unused +void SafeLoadMonIconPalette(u16 species) +{ + u8 palIndex; + if (species > SPECIES_EGG) + species = 260; + palIndex = gMonIconPaletteIndices[species]; + if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF) + LoadSpritePalette(&gMonIconPaletteTable[palIndex]); +} + +void sub_809D580(u16 species) +{ + u8 palIndex = gMonIconPaletteIndices[species]; + if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF) + LoadSpritePalette(&gMonIconPaletteTable[palIndex]); +} + +// unused +void FreeMonIconPalettes(void) +{ + u8 i; + for (i = 0; i < 6; i++) + FreeSpritePaletteByTag(gMonIconPaletteTable[i].tag); +} + +// unused +void SafeFreeMonIconPalette(u16 species) +{ + u8 palIndex; + if (species > SPECIES_EGG) + species = 260; + palIndex = gMonIconPaletteIndices[species]; + FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag); +} + +void sub_809D608(u16 species) +{ + u8 palIndex; + palIndex = gMonIconPaletteIndices[species]; + FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag); +} + +void sub_809D62C(struct Sprite *sprite) +{ + UpdateMonIconFrame(sprite); +} + +// TODO: try to find a way to avoid using goto and asm statement +u8 UpdateMonIconFrame(struct Sprite *sprite) +{ + u8 result = 0; + + if (sprite->animDelayCounter == 0) + { + s16 frame = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.imageValue; + + if (frame != -2) + { + if (frame != -1) + goto copy; + goto end; + } + + sprite->animCmdIndex = 0; + goto end; + + copy: + RequestSpriteCopy( + (u8 *)sprite->images + sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame, + (u8 *)OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, + sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]); + { + register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration; + sprite->animDelayCounter = duration; + } + sprite->animCmdIndex++; + result = sprite->animCmdIndex; + } + else + { + sprite->animDelayCounter--; + } + +end: + return result; +} + +u8 CreateMonIconSprite(struct MonIconSpriteTemplate *iconTemplate, s16 x, s16 y, u8 subpriority) +{ + u8 spriteId; + + struct SpriteFrameImage image = { NULL, sSpriteImageSizes[iconTemplate->oam->shape][iconTemplate->oam->size] }; + + struct SpriteTemplate spriteTemplate = + { + .tileTag = 0xFFFF, + .paletteTag = iconTemplate->paletteTag, + .oam = iconTemplate->oam, + .anims = iconTemplate->anims, + .images = &image, + .affineAnims = iconTemplate->affineAnims, + .callback = iconTemplate->callback, + }; + + spriteId = CreateSprite(&spriteTemplate, x, y, subpriority); + gSprites[spriteId].animPaused = TRUE; + gSprites[spriteId].animBeginning = FALSE; + gSprites[spriteId].images = (const struct SpriteFrameImage *)iconTemplate->image; + return spriteId; +} + +void sub_809D7E8(struct Sprite *sprite) +{ + struct SpriteFrameImage image = { NULL, sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] }; + sprite->images = ℑ + DestroySprite(sprite); +} + +void sub_809D824(struct Sprite *sprite, u8 animNum) +{ + sprite->animNum = animNum; + sprite->animDelayCounter = 0; + sprite->animCmdIndex = 0; +} diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 0cab07fc1..5e97523e2 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -12,6 +12,8 @@ extern const struct StorageAction gUnknown_083B6DF4[]; extern const u8 unk_2000000[]; +EWRAM_DATA struct PokemonStorage gPokemonStorage = {0}; + #define gUnk2002694 (u8 *)(&unk_2000000[0x2694]) #define gUnk20026A6 (u8 *)(&unk_2000000[0x26a6]) #define gUnk20011fa (u8 *)(&unk_2000000[0x11fa]) diff --git a/src/record_mixing.c b/src/record_mixing.c index a8daa9220..9cbcce49c 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -31,10 +31,11 @@ extern u8 ewram[]; extern struct RecordMixing_UnknownStruct gUnknown_02038738; extern u16 gSpecialVar_0x8005; -extern u32 gUnknown_03005D2C; -extern u8 gUnknown_03000718; -extern u8 gUnknown_0300071C[]; -extern bool8 gReceivedRemoteLinkPlayers; + +u32 gUnknown_03005D2C; + +static u8 gUnknown_03000718; +static u8 gUnknown_0300071C[4]; void *recordMixingSecretBases = &gSaveBlock1.secretBases; void *recordMixingTvShows = &gSaveBlock1.tvShows; diff --git a/src/region_map.c b/src/region_map.c index 097417357..076dfecec 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -127,7 +127,7 @@ enum INPUT_EVENT_B_BUTTON, }; -extern struct RegionMap *gRegionMap; +static EWRAM_DATA struct RegionMap *gRegionMap = NULL; static const u16 sRegionMapCursor_Pal[] = INCBIN_U16("graphics/pokenav/cursor.gbapal"); static const u8 sRegionMapCursorSmall_ImageLZ[] = INCBIN_U8("graphics/pokenav/cursor_small.4bpp.lz"); diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c new file mode 100644 index 000000000..d052992ad --- /dev/null +++ b/src/reset_rtc_screen.c @@ -0,0 +1,496 @@ +#include "global.h" +#include "event_data.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "rtc.h" +#include "save.h" +#include "sprite.h" +#include "songs.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "strings2.h" +#include "task.h" +#include "text.h" +#include "unknown_task.h" + +struct ResetRtcStruct +{ + /*0x0*/ u8 dataIndex; + /*0x2*/ u16 minVal; + /*0x4*/ u16 maxVal; + /*0x6*/ u8 left; + /*0x7*/ u8 right; + /*0x8*/ u8 unk8; +}; + +extern u16 gSaveFileStatus; + +extern struct ResetRtcStruct gUnknown_08376420[]; +extern struct SpritePalette gUnknown_083764BC; +extern struct SpriteTemplate gSpriteTemplate_83764E8; +extern u8 gUnknown_08376500[]; + +void CB2_ResetRtcScreen(void); +void VBlankCB_ResetRtcScreen(void); +void Task_ResetRtcScreen(u8); + +void SpriteCB_ResetRtcCusor0(struct Sprite *sprite) +{ + int state = gTasks[sprite->data0].data[2]; + if (state != sprite->data1) + { + sprite->data1 = state; + switch (state) + { + case 1: + sprite->invisible = FALSE; + sprite->animNum = 1; + sprite->animDelayCounter = 0; + sprite->pos1.x = 53; + sprite->pos1.y = 68; + break; + case 2: + sprite->invisible = FALSE; + sprite->animNum = 1; + sprite->animDelayCounter = 0; + sprite->pos1.x = 86; + sprite->pos1.y = 68; + break; + case 3: + sprite->invisible = FALSE; + sprite->animNum = 1; + sprite->animDelayCounter = 0; + sprite->pos1.x = 107; + sprite->pos1.y = 68; + break; + case 4: + sprite->invisible = FALSE; + sprite->animNum = 1; + sprite->animDelayCounter = 0; + sprite->pos1.x = 128; + sprite->pos1.y = 68; + break; + case 5: + sprite->invisible = FALSE; + sprite->animNum = 2; + sprite->animDelayCounter = 0; + sprite->pos1.x = 155; + sprite->pos1.y = 80; + break; + case 6: + DestroySprite(sprite); + break; + } + } +} + +void SpriteCB_ResetRtcCusor1(struct Sprite *sprite) +{ + int state = gTasks[sprite->data0].data[2]; + if (state != sprite->data1) + { + sprite->data1 = state; + switch (state) + { + case 1: + sprite->invisible = FALSE; + sprite->animNum = 0; + sprite->animDelayCounter = 0; + sprite->pos1.x = 53; + sprite->pos1.y = 92; + break; + case 2: + sprite->invisible = FALSE; + sprite->animNum = 0; + sprite->animDelayCounter = 0; + sprite->pos1.x = 86; + sprite->pos1.y = 92; + break; + case 3: + sprite->invisible = FALSE; + sprite->animNum = 0; + sprite->animDelayCounter = 0; + sprite->pos1.x = 107; + sprite->pos1.y = 92; + break; + case 4: + sprite->invisible = FALSE; + sprite->animNum = 0; + sprite->animDelayCounter = 0; + sprite->pos1.x = 128; + sprite->pos1.y = 92; + break; + case 5: + sprite->invisible = TRUE; + break; + case 6: + DestroySprite(sprite); + break; + } + } +} + +void ResetRtcScreen_CreateCursor(u8 taskId) +{ + int spriteId; + + LoadSpritePalette(&gUnknown_083764BC); + + spriteId = CreateSpriteAtEnd(&gSpriteTemplate_83764E8, 53, 68, 0); + gSprites[spriteId].callback = SpriteCB_ResetRtcCusor0; + gSprites[spriteId].data0 = taskId; + gSprites[spriteId].data1 = -1; + + spriteId = CreateSpriteAtEnd(&gSpriteTemplate_83764E8, 53, 68, 0); + gSprites[spriteId].callback = SpriteCB_ResetRtcCusor1; + gSprites[spriteId].data0 = taskId; + gSprites[spriteId].data1 = -1; +} + +void ResetRtcScreen_FreeCursorPalette(void) +{ + FreeSpritePaletteByTag(gUnknown_083764BC.tag); +} + +void ResetRtcScreen_HideChooseTimeWindow(void) +{ + MenuZeroFillWindowRect(3, 8, 25, 11); +} + +void ResetRtcScreen_PrintTime(u8 x, u8 y, u16 days, u8 hours, u8 minutes, u8 seconds) +{ + u8 *dest = gStringVar4; + days %= 10000; + hours %= 24; + minutes %= 60; + seconds %= 60; + sub_8072C44(gStringVar1, days, 24, 1); + dest = StringCopy(dest, gStringVar1); + dest = StringCopy(dest, gOtherText_Day); + sub_8072C44(gStringVar1, hours, 18, 1); + dest = StringCopy(dest, gStringVar1); + dest = StringCopy(dest, gUnknown_08376500); + dest = ConvertIntToDecimalStringN(dest, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); + dest = StringCopy(dest, gUnknown_08376500); + ConvertIntToDecimalStringN(dest, seconds, STR_CONV_MODE_LEADING_ZEROS, 2); + MenuPrint(gStringVar4, x, y); +} + +void ResetRtcScreen_ShowChooseTimeWindow(u16 days, u8 hours, u8 minutes, u8 seconds) +{ + MenuDrawTextWindow(3, 8, 25, 11); + MenuPrint(gOtherText_OK, 20, 9); + ResetRtcScreen_PrintTime(4, 9, days, hours, minutes, seconds); +} + +bool32 ResetRtcScreen_MoveTimeUpDown(s16 *val, int minVal, int maxVal, u16 keys) +{ + if (keys & DPAD_DOWN) + { + (*val)--; + if (*val < minVal) + *val = maxVal; + } + else if (keys & DPAD_UP) + { + (*val)++; + if (*val > maxVal) + *val = minVal; + } + else if (keys & DPAD_LEFT) + { + *val -= 10; + if (*val < minVal) + *val = maxVal; + } + else if (keys & DPAD_RIGHT) + { + *val += 10; + if (*val > maxVal) + *val = minVal; + } + else + { + return FALSE; + } + + return TRUE; +} + +void Task_ResetRtc_3(u8 taskId) +{ + gTasks[taskId].data[0] = 1; +} + +void Task_ResetRtc_2(u8 taskId) +{ + ResetRtcScreen_HideChooseTimeWindow(); + ResetRtcScreen_FreeCursorPalette(); + gTasks[taskId].func = Task_ResetRtc_3; +} + +void Task_ResetRtc_1(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u8 selection = data[2]; + struct ResetRtcStruct *selectionInfo = &gUnknown_08376420[selection - 1]; + + if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = Task_ResetRtc_2; + data[1] = 0; + data[2] = 6; + PlaySE(SE_SELECT); + return; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + if (selectionInfo->right) + { + data[2] = selectionInfo->right; + PlaySE(SE_SELECT); + return; + } + } + + if (gMain.newKeys & DPAD_LEFT) + { + if (selectionInfo->left) + { + data[2] = selectionInfo->left; + PlaySE(SE_SELECT); + return; + } + } + + if (selection == 5) + { + if (gMain.newKeys & A_BUTTON) + { + gLocalTime.days = data[3]; + gLocalTime.hours = data[4]; + gLocalTime.minutes = data[5]; + gLocalTime.seconds = data[6]; + PlaySE(SE_SELECT); + gTasks[taskId].func = Task_ResetRtc_2; + data[1] = 1; + data[2] = 6; + } + } + else if (ResetRtcScreen_MoveTimeUpDown(&data[selectionInfo->dataIndex], selectionInfo->minVal, selectionInfo->maxVal, gMain.newAndRepeatedKeys & (DPAD_UP | DPAD_DOWN))) + { + PlaySE(SE_SELECT); + ResetRtcScreen_PrintTime(4, 9, data[3], data[4], data[5], data[6]); + } +} + +void Task_ResetRtc_0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[0] = 0; + data[3] = gLocalTime.days; + data[4] = gLocalTime.hours; + data[5] = gLocalTime.minutes; + data[6] = gLocalTime.seconds; + ResetRtcScreen_ShowChooseTimeWindow(data[3], data[4], data[5], data[6]); + ResetRtcScreen_CreateCursor(taskId); + data[2] = 2; + gTasks[taskId].func = Task_ResetRtc_1; +} + +void CB2_InitResetRtcScreen(void) +{ + u8 *addr; + u32 size; + + REG_DISPCNT = 0; + SetVBlankCallback(NULL); + + DmaClear16(3, PLTT, PLTT_SIZE); + + addr = (u8 *)VRAM; + size = 0x18000; + while (1) + { + DmaFill16(3, 0, addr, 0x1000); + addr += 0x1000; + size -= 0x1000; + if (size <= 0x1000) + { + DmaFill16(3, 0, addr, size); + break; + } + } + + ResetOamRange(0, 128); + LoadOam(); + remove_some_task(); + dp12_8087EA4(); + ResetSpriteData(); + ResetTasks(); + ResetPaletteFade(); + SetUpWindowConfig(&gWindowConfig_81E6CE4); + InitMenuWindow(&gWindowConfig_81E6CE4); + REG_DISPCNT = 4352; + SetVBlankCallback(VBlankCB_ResetRtcScreen); + SetMainCallback2(CB2_ResetRtcScreen); + CreateTask(Task_ResetRtcScreen, 80); +} + +void CB2_ResetRtcScreen(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void VBlankCB_ResetRtcScreen(void) +{ + ProcessSpriteCopyRequests(); + LoadOam(); + TransferPlttBuffer(); +} + +void ResetRtcScreen_ShowMessage(const u8 *str) +{ + MenuDisplayMessageBox(); + MenuPrint(str, 2, 15); +} + +void Task_ShowResetRtcPrompt(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + MenuZeroFillScreen(); + MenuDrawTextWindow(0, 0, 20, 10); + MenuPrint(gSystemText_PresentTime, 1, 1); + ResetRtcScreen_PrintTime( + 1, + 3, + gLocalTime.days, + gLocalTime.hours, + gLocalTime.minutes, + gLocalTime.seconds); + MenuPrint(gSystemText_PreviousTime, 1, 5); + ResetRtcScreen_PrintTime( + 1, + 7, + gSaveBlock2.lastBerryTreeUpdate.days, + gSaveBlock2.lastBerryTreeUpdate.hours, + gSaveBlock2.lastBerryTreeUpdate.minutes, + gSaveBlock2.lastBerryTreeUpdate.seconds); + ResetRtcScreen_ShowMessage(gSystemText_ResetRTCPrompt); + data[0]++; + case 1: + if (gMain.newKeys & B_BUTTON) + { + DestroyTask(taskId); + DoSoftReset(); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + DestroyTask(taskId); + } + break; + } +} + +void Task_ResetRtcScreen(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); + data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) + { + if (gSaveFileStatus == 0 || gSaveFileStatus == 2) + { + ResetRtcScreen_ShowMessage(gSystemText_NoSaveFileNoTime); + data[0] = 5; + } + else + { + RtcCalcLocalTime(); + data[1] = CreateTask(Task_ShowResetRtcPrompt, 80); + data[0] = 2; + } + } + break; + case 2: + if (gTasks[data[1]].isActive != TRUE) + { + MenuZeroFillScreen(); + ResetRtcScreen_ShowMessage(gSystemText_PleaseResetTime); + gLocalTime = gSaveBlock2.lastBerryTreeUpdate; + data[1] = CreateTask(Task_ResetRtc_0, 80); + data[0] = 3; + } + break; + case 3: + if (gTasks[data[1]].data[0]) + { + if (!gTasks[data[1]].data[1]) + { + DestroyTask(data[1]); + data[0] = 2; + } + else + { + DestroyTask(data[1]); + RtcReset(); + RtcCalcLocalTimeOffset( + gLocalTime.days, + gLocalTime.hours, + gLocalTime.minutes, + gLocalTime.seconds); + gSaveBlock2.lastBerryTreeUpdate = gLocalTime; + VarSet(VAR_DAYS, gLocalTime.days); + DisableResetRTC(); + ResetRtcScreen_ShowMessage(gSystemText_ClockResetDataSave); + data[0] = 4; + } + } + break; + case 4: + if (TrySavingData(0) == TRUE) + { + ResetRtcScreen_ShowMessage(gSystemText_SaveCompleted); + PlaySE(SE_PINPON); + } + else + { + ResetRtcScreen_ShowMessage(gSystemText_SaveFailed); + PlaySE(SE_BOO); + } + data[0] = 5; + case 5: + if (gMain.newKeys & A_BUTTON) + { + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, 0xFFFF); + data[0] = 6; + } + else + { + break; + } + case 6: + if (!gPaletteFade.active) + { + DestroyTask(taskId); + DoSoftReset(); + } + } +} diff --git a/src/rom3.c b/src/rom3.c index ad30bd4c8..282253bff 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -24,9 +24,10 @@ extern u16 gBattleTypeFlags; extern u16 gBattleWeather; extern struct BattlePokemon gBattleMons[]; -extern u8 gUnknown_020238C4; -extern u8 gUnknown_020238C5; -extern u8 gUnknown_020238C6; +static EWRAM_DATA u8 gUnknown_020238C4 = 0; +static EWRAM_DATA u8 gUnknown_020238C5 = 0; +static EWRAM_DATA u8 gUnknown_020238C6 = 0; + extern u32 gUnknown_020239FC; extern u8 gBattleBufferA[][0x200]; extern u8 gBattleBufferB[][0x200]; @@ -49,13 +50,14 @@ extern u8 gUnknown_02024C78; extern u8 gBattleOutcome; extern u8 gActionSelectionCursor[]; extern u8 gMoveSelectionCursor[]; -extern u8 gBattleBuffersTransferData[]; extern u8 gBattleTextBuff1[]; extern u8 gBattleTextBuff2[]; extern u8 gBattleTextBuff3[]; extern void (*gBattleMainFunc)(void); extern void (*gBattleBankFunc[])(void); +u8 gBattleBuffersTransferData[0x170]; + void sub_800B858(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) diff --git a/src/rom4.c b/src/rom4.c index b2e30e292..f9006efba 100644 --- a/src/rom4.c +++ b/src/rom4.c @@ -60,23 +60,23 @@ struct UnkTVStruct u32 tv_field_4; }; -extern struct WarpData gUnknown_020297F0; -extern struct WarpData gUnknown_020297F8; -extern struct WarpData gUnknown_02029800; -extern struct WarpData gUnknown_02029808; -extern struct UnkPlayerStruct gUnknown_02029810; -extern u16 gUnknown_02029814; -extern bool8 gUnknown_02029816; -extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; - -extern u8 gUnknown_03000580[]; -extern u16 (*gUnknown_03000584)(u32); -extern u8 gUnknown_03000588; - -extern u16 word_3004858; -extern void (*gFieldCallback)(void); -extern u8 gUnknown_03004860; -extern u8 gFieldLinkPlayerCount; +EWRAM_DATA struct WarpData gUnknown_020297F0 = {0}; +EWRAM_DATA struct WarpData gUnknown_020297F8 = {0}; +EWRAM_DATA struct WarpData gUnknown_02029800 = {0}; +EWRAM_DATA struct WarpData gUnknown_02029808 = {0}; +EWRAM_DATA struct UnkPlayerStruct gUnknown_02029810 = {0}; +EWRAM_DATA u16 gUnknown_02029814 = 0; +EWRAM_DATA bool8 gUnknown_02029816 = FALSE; +EWRAM_DATA struct LinkPlayerMapObject gLinkPlayerMapObjects[4] = {0}; + +static u8 gUnknown_03000580[4]; +static u16 (*gUnknown_03000584)(u32); +static u8 gUnknown_03000588; + +u16 word_3004858; +void (*gFieldCallback)(void); +u8 gUnknown_03004860; +u8 gFieldLinkPlayerCount; extern u16 gUnknown_03004898; extern u16 gUnknown_0300489C; diff --git a/src/rom6.c b/src/rom6.c index 759aed93f..ff032b6c2 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -14,13 +14,13 @@ #include "task.h" extern u16 gScriptLastTalked; -extern u32 gUnknown_0202FF84[]; -extern struct MapPosition gUnknown_0203923C; extern void (*gFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; extern void (*gUnknown_03005CE4)(void); extern u8 UseRockSmashScript[]; +EWRAM_DATA struct MapPosition gUnknown_0203923C = {0}; + static void task08_080C9820(u8); static void sub_810B3DC(u8); static void sub_810B428(u8); diff --git a/src/rotating_gate.c b/src/rotating_gate.c index d12a21240..bb3c31dfc 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -565,9 +565,9 @@ static const u8 sRotatingGate_ArmLayout[][GATE_ARM_WEST + 1][GATE_ARM_MAX_LENGTH }, }; -extern u8 gRotatingGate_GateSpriteIds[ROTATING_GATE_PUZZLE_MAX]; -extern const struct RotatingGatePuzzle *gRotatingGate_PuzzleConfig; -extern u8 gRotatingGate_PuzzleCount; +static EWRAM_DATA u8 gRotatingGate_GateSpriteIds[ROTATING_GATE_PUZZLE_MAX] = {0}; +static EWRAM_DATA const struct RotatingGatePuzzle *gRotatingGate_PuzzleConfig = NULL; +static EWRAM_DATA u8 gRotatingGate_PuzzleCount = 0; static int GetCurrentMapRotatingGatePuzzleType(void) { diff --git a/src/save.c b/src/save.c index 46094746a..adf39268e 100644 --- a/src/save.c +++ b/src/save.c @@ -11,21 +11,23 @@ #define GETBLOCKOFFSET(n) (0xF80 * (n - 1)) #define TOTALNUMSECTORS ((ARRAY_COUNT(gSaveSectionLocations) * 2) + (ARRAY_COUNT(gHallOfFameSaveSectionLocations) * 2)) // there are 2 slots, so double each array count and get the sum. -extern u32 gLastSaveSectorStatus; // used but in an unferenced function, so unused -extern u16 gLastWrittenSector; -extern u32 gLastSaveCounter; -extern u16 gLastKnownGoodSector; -extern u32 gDamagedSaveSectors; -extern u32 gSaveCounter; extern struct SaveSection unk_2000000; // slow save RAM -extern struct SaveSection *gFastSaveSection; // the pointer is in fast IWRAM but may sometimes point to the slower EWRAM. -extern u16 gUnknown_03005EB4; -extern u16 gSaveFileStatus; -extern u32 gGameContinueCallback; + +u16 gLastWrittenSector; +u32 gLastSaveCounter; +u16 gLastKnownGoodSector; +u32 gDamagedSaveSectors; +u32 gSaveCounter; +struct SaveSection *gFastSaveSection; // the pointer is in fast IWRAM but may sometimes point to the slower EWRAM. +u16 gUnknown_03005EB4; +u16 gSaveFileStatus; +u32 gGameContinueCallback; extern struct PokemonStorage gPokemonStorage; extern struct HallOfFame gHallOfFame; +static EWRAM_DATA u32 gLastSaveSectorStatus = 0; // used but in an unferenced function, so unused + const struct SaveSectionLocation gSaveSectionLocations[] = { {((u8 *) &gSaveBlock2) + GETBLOCKOFFSET(1), GETCHUNKSIZE(gSaveBlock2, 1)}, diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index a64b3eb5f..b91e8b5bf 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -22,17 +22,11 @@ #define CLOCK_WIN_TOP (MSG_WIN_TOP - 4) -struct SaveFailedClockStruct -{ - bool16 clockRunning; - u16 timer; // appears to be unused, the only case its "used" cannot be reached normally - u8 unused[0xE]; // appears to be unused space. alternatively, there could have been multiple clock structs. however, neither of these cases are fulfilled, so the purpose of this space is unknown. one theory is that there is room for 3 more clock structs (2 16-bit values), so its possible GF intended there to be support for link-based save failed screens in case the synchronization failed, or it in fact was present in an earlier build but taken out for reasons. -}; - extern u8 unk_2000000[]; -extern u16 gSaveFailedType; -extern struct SaveFailedClockStruct gSaveFailedClockInfo; +static EWRAM_DATA u16 gSaveFailedType = 0; +static EWRAM_DATA u16 gSaveFailedClockInfo[9] = {0}; + extern u32 gDamagedSaveSectors; extern u32 gGameContinueCallback; @@ -83,7 +77,7 @@ void DoSaveFailedScreen(u8 saveType) { SetMainCallback2(CB2_SaveFailedScreen); gSaveFailedType = saveType; - gSaveFailedClockInfo.clockRunning = FALSE; + gSaveFailedClockInfo[0] = FALSE; } static void VBlankCB(void) @@ -159,7 +153,7 @@ static void CB2_WipeSave(void) { u8 wipeTries = 0; - gSaveFailedClockInfo.clockRunning = TRUE; + gSaveFailedClockInfo[0] = TRUE; while (gDamagedSaveSectors != 0 && wipeTries < 3) // while there are still attempts left, keep trying to fix the save sectors. { @@ -208,7 +202,7 @@ static void CB2_WipeSave(void) static void CB2_GameplayCannotBeContinued(void) { - gSaveFailedClockInfo.clockRunning = FALSE; + gSaveFailedClockInfo[0] = FALSE; if (gMain.newKeys & A_BUTTON) { @@ -221,7 +215,7 @@ static void CB2_GameplayCannotBeContinued(void) static void CB2_FadeAndReturnToTitleScreen(void) { - gSaveFailedClockInfo.clockRunning = FALSE; + gSaveFailedClockInfo[0] = FALSE; if (gMain.newKeys & A_BUTTON) { @@ -255,7 +249,7 @@ static void VBlankCB_UpdateClockGraphics(void) gMain.oamBuffer[0].x = 112; gMain.oamBuffer[0].y = (CLOCK_WIN_TOP + 1) * 8; - if (gSaveFailedClockInfo.clockRunning != FALSE) + if (gSaveFailedClockInfo[0] != FALSE) { gMain.oamBuffer[0].tileNum = sClockFrames[n][0]; gMain.oamBuffer[0].matrixNum = (sClockFrames[n][2] << 4) | (sClockFrames[n][1] << 3); @@ -267,8 +261,8 @@ static void VBlankCB_UpdateClockGraphics(void) CpuFastCopy(gMain.oamBuffer, (void *)OAM, 4); - if (gSaveFailedClockInfo.timer) // maybe was used for debugging? - gSaveFailedClockInfo.timer--; + if (gSaveFailedClockInfo[1]) // maybe was used for debugging? + gSaveFailedClockInfo[1]--; } static bool8 VerifySectorWipe(u16 sector) diff --git a/src/scrcmd.c b/src/scrcmd.c index 45552f2fa..7d719371e 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -48,12 +48,14 @@ typedef u16 (*SpecialFunc)(void); typedef void (*NativeFunc)(void); extern u32 gUnknown_0202E8AC; -extern u32 gUnknown_0202E8B0; -extern u16 gUnknown_0202E8B4; -extern u16 gUnknown_0202E8B6; -extern u16 gUnknown_0202E8B8; -extern u16 gUnknown_0202E8BA; -extern u16 gUnknown_0202E8BC; + +static EWRAM_DATA u32 gUnknown_0202E8B0 = 0; +static EWRAM_DATA u16 gUnknown_0202E8B4 = 0; +static EWRAM_DATA u16 gUnknown_0202E8B6 = 0; +static EWRAM_DATA u16 gUnknown_0202E8B8 = 0; +static EWRAM_DATA u16 gUnknown_0202E8BA = 0; +static EWRAM_DATA u16 gUnknown_0202E8BC = 0; + extern u16 gSpecialVar_0x8000; extern u16 gSpecialVar_0x8001; extern u16 gSpecialVar_0x8002; @@ -61,8 +63,6 @@ extern u16 gSpecialVar_0x8004; extern u16 gScriptResult; -extern u32 gUnknown_0202FF84[]; - extern u16 gScriptContestCategory; extern SpecialFunc gSpecials[]; diff --git a/src/script.c b/src/script.c index c27eb22fe..e5be913c6 100644 --- a/src/script.c +++ b/src/script.c @@ -4,8 +4,7 @@ #define RAM_SCRIPT_MAGIC 51 -extern u8 *gUnknown_0202E8AC; -extern u32 gUnknown_0202E8B0; +EWRAM_DATA u8 *gUnknown_0202E8AC = NULL; static u8 sScriptContext1Status; static struct ScriptContext sScriptContext1; diff --git a/src/script_movement.c b/src/script_movement.c index 31143ed6f..e25b60a3c 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -5,7 +5,7 @@ #include "task.h" #include "util.h" -extern u8 *gUnknown_020384F8[]; +static EWRAM_DATA u8 *gUnknown_020384F8[16] = {0}; static void sub_80A2198(u8); static u8 sub_80A21E0(void); diff --git a/src/sound.c b/src/sound.c index c9c4916b0..8d23b7d7a 100644 --- a/src/sound.c +++ b/src/sound.c @@ -17,8 +17,9 @@ struct Fanfare u32 SpeciesToCryId(u32); extern u16 gBattleTypeFlags; -extern struct MusicPlayerInfo *gMPlay_PokemonCry; -extern u8 gPokemonCryBGMDuckingCounter; + +static EWRAM_DATA struct MusicPlayerInfo *gMPlay_PokemonCry = NULL; +static EWRAM_DATA u8 gPokemonCryBGMDuckingCounter = 0; static u16 sCurrentMapMusic; static u16 sNextMapMusic; @@ -26,7 +27,8 @@ static u8 sMapMusicState; static u8 sMapMusicFadeInSpeed; static u16 sFanfareCounter; -extern bool8 gDisableMusic; +bool8 gDisableMusic; + extern struct MusicPlayerInfo gMPlay_BGM; extern struct MusicPlayerInfo gMPlay_SE1; extern struct MusicPlayerInfo gMPlay_SE2; diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c index 13a6f6f3e..d97ae6d86 100644 --- a/src/sound_check_menu.c +++ b/src/sound_check_menu.c @@ -57,18 +57,19 @@ extern struct ToneData voicegroup_8453190[]; extern struct ToneData voicegroup_84549C0[]; extern struct ToneData voicegroup_8453790[]; -extern int gUnknown_020387B4[9]; - -extern s8 gUnknown_020387B3; -extern u8 gUnknown_020387B1; -extern u8 gUnknown_020387B2; -extern u8 gUnknown_020387D8; -extern u8 gUnknown_020387D9; -extern u8 gUnknown_020387B0; +static EWRAM_DATA u8 gUnknown_020387B0 = 0; +static EWRAM_DATA u8 gUnknown_020387B1 = 0; +static EWRAM_DATA u8 gUnknown_020387B2 = 0; +static EWRAM_DATA s8 gUnknown_020387B3 = 0; +static EWRAM_DATA int gUnknown_020387B4[9] = {0}; +static EWRAM_DATA u8 gUnknown_020387D8 = 0; +static EWRAM_DATA u8 gUnknown_020387D9 = 0; + extern u16 gUnknown_03005D34; extern u8 gUnknown_03005E98; -extern struct MusicPlayerInfo *gUnknown_03005D30; +struct MusicPlayerInfo *gUnknown_03005D30; + extern struct MusicPlayerInfo gMPlay_BGM; void sub_80BA258(u8); diff --git a/src/start_menu.c b/src/start_menu.c index e05f3a999..411690aff 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -51,9 +51,11 @@ static bool8 savingComplete; extern bool8 gDifferentSaveFile; extern u16 gSaveFileStatus; extern u16 gScriptResult; -extern u8 (*gCallback_03004AE8)(void); + extern u8 gUnknown_03004860; +u8 (*gCallback_03004AE8)(void); + EWRAM_DATA static u8 sStartMenuCursorPos = 0; EWRAM_DATA static u8 sNumStartMenuActions = 0; EWRAM_DATA static u8 sCurrentStartMenuActions[10] = {0}; diff --git a/src/title_screen.c b/src/title_screen.c index 1ed87ff03..ab0f1d505 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -41,7 +41,6 @@ extern u8 gReservedSpritePaletteCount; extern struct MusicPlayerInfo gMPlay_BGM; -extern u8 gUnknown_0202F7E4; extern u16 gUnknown_030041B4; extern u16 gUnknown_030042C0; extern const u8 gUnknown_08E9D8CC[]; @@ -51,6 +50,8 @@ extern const u8 gVersionTiles[]; extern const u8 gTitleScreenPressStart_Gfx[]; extern const u16 gTitleScreenLogoShinePalette[]; +static EWRAM_DATA u8 gUnknown_0202F7E4 = 0; + #ifdef SAPPHIRE static const u16 sLegendaryMonPalettes[][16] = { diff --git a/src/trainer_card.c b/src/trainer_card.c index f7afd9cec..626c5a7bf 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -51,7 +51,8 @@ extern u8 ewram[]; #define ewram0 (*(struct Struct2000000 *)(ewram)) extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; -extern struct TrainerCard gTrainerCards[4]; + +EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0}; struct UnknownStruct1 { diff --git a/src/trainer_see.c b/src/trainer_see.c index 9b7a47f6b..feb35c67c 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -13,8 +13,6 @@ extern bool8 (*gIsTrainerInRange[])(struct MapObject *, u16, s16, s16); extern bool8 (*gTrainerSeeFuncList[])(u8, struct Task *, struct MapObject *); extern bool8 (*gTrainerSeeFuncList2[])(u8, struct Task *, struct MapObject *); -extern u32 gUnknown_0202FF84[]; - extern struct SpriteTemplate gSpriteTemplate_839B510; extern struct SpriteTemplate gSpriteTemplate_839B528; @@ -63,14 +63,7 @@ extern u8 gUnknown_02038694; extern struct TVSaleItem gUnknown_02038724[3]; -extern u16 gSpecialVar_0x8004; -extern u16 gSpecialVar_0x8005; -extern u16 gSpecialVar_0x8006; -extern u8 gSpecialVar_0x8007; -extern u16 gScriptResult; -extern u8 gUnknown_020387E8; - -extern struct UnkTvStruct gUnknown_03005D38; +struct UnkTvStruct gUnknown_03005D38; extern u8 *gTVBravoTrainerTextGroup[]; extern u8 *gTVBravoTrainerBattleTowerTextGroup[]; @@ -87,8 +80,7 @@ extern u8 *gTVFishingGuruAdviceTextGroup[]; extern u8 *gTVWorldOfMastersTextGroup[]; extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5]; -extern u16 gUnknown_020387E0; -extern u16 gUnknown_020387E2; + extern const u8 *gTVNewsTextGroup1[]; extern const u8 *gTVNewsTextGroup2[]; @@ -96,7 +88,6 @@ extern const u8 *gTVNewsTextGroup3[]; extern u16 gScriptLastTalked; - extern u8 gScriptContestCategory; extern u8 gScriptContestRank; extern u8 gUnknown_03004316[11]; @@ -106,10 +97,15 @@ extern u16 gLastUsedItem; extern u8 ewram[]; #define gUnknown_02007000 (*(ewramStruct_02007000 *)(ewram + 0x7000)) -extern u8 gUnknown_020387E4; -extern u8 gUnknown_03000720; -extern s8 gUnknown_03000722; +static EWRAM_DATA u16 gUnknown_020387E0 = 0; +static EWRAM_DATA u16 gUnknown_020387E2 = 0; +static EWRAM_DATA u8 gUnknown_020387E4 = 0; +static EWRAM_DATA ALIGNED(4) u8 gUnknown_020387E8 = 0; // why is this aligned to a 4-byte boundary? + +static u8 gUnknown_03000720; +static u8 gUnknown_03000721; +static s8 gUnknown_03000722; void ClearTVShowData(void) { @@ -1921,9 +1917,6 @@ void sub_80BFD44(u8 *arg0, u32 arg1, u8 arg2) sub_80C0408(); } -extern u8 gUnknown_03000720; -extern u8 gUnknown_03000721; -extern s8 gUnknown_03000722; s8 sub_80C019C(TVShow tvShows[]); bool8 sub_80BFF68(TVShow * tv1[25], TVShow * tv2[25], u8 idx); u8 sub_80C004C(TVShow *tv1, TVShow *tv2, u8 idx); diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index ce83bc1c2..3aa2f1fa5 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -102,10 +102,11 @@ const struct SpriteTemplate gSpriteTemplate_840618C = { asm(".text\n" ".include \"constants/gba_constants.inc\""); -extern struct UnkPokenavStruct_Sub1 *gUnknown_02039304; -extern MainCallback gUnknown_02039308; -extern struct Pokeblock *gUnknown_0203930C; -extern u8 gUnknown_02039310; +static EWRAM_DATA struct UnkPokenavStruct_Sub1 *gUnknown_02039304 = NULL; +static EWRAM_DATA MainCallback gUnknown_02039308 = NULL; +static EWRAM_DATA struct Pokeblock *gUnknown_0203930C = NULL; +EWRAM_DATA u8 gUnknown_02039310 = 0; +EWRAM_DATA s16 gUnknown_02039312 = 0; extern u16 gKeyRepeatStartDelay; extern u16 gScriptItemId; // FIXME: remove after merge of #349 Pokeblock diff --git a/sym_bss.txt b/sym_bss.txt index 3a00629b5..a6eaeefe1 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -5,6 +5,8 @@ .include "src/link.o" .include "src/rtc.o" +@ daycare + .align 2 gUnknown_03000470: @ 3000470 .space 0x68 @@ -21,9 +23,13 @@ gUnknown_030004E8: @ 30004E8 gUnknown_03000500: @ 3000500 .space 0x8 +@ trade + gUnknown_03000508: @ 3000508 .space 0x8 +@ berry_blender + gUnknown_03000510: @ 3000510 .space 0x10 @@ -49,38 +55,14 @@ gUnknown_03000560: @ 3000560 .space 0x1C .include "src/play_time.o" + .include "src/rom4.o" + @ unused variable? .align 2 -gUnknown_03000580: @ 3000580 - .space 0x4 - -gUnknown_03000584: @ 3000584 - .space 0x4 - -gUnknown_03000588: @ 3000588 - .space 0x8 - -gUnknown_03000590: @ 3000590 - .space 0x8 - -gUnknown_03000598: @ 3000598 - .space 0x2 - -gUnknown_0300059A: @ 300059A - .space 0x2 - -gUnknown_0300059C: @ 300059C - .space 0x4 - -gUnknown_030005A0: @ 30005A0 .space 0x4 -gUnknown_030005A4: @ 30005A4 - .space 0x2 - -gUnknown_030005A6: @ 30005A6 - .space 0x2 - + .include "src/field_camera.o" + .include "src/field_map_obj.o" .include "src/field_message_box.o" .include "src/text_window.o" .include "src/script.o" @@ -89,29 +71,27 @@ gUnknown_030005A6: @ 30005A6 .include "src/tileset_anim.o" .include "src/sound.o" +@ field_weather + gUnknown_030006DC: @ 30006DC .space 0x4 .include "src/field_effect.o" - .include "src/item_menu.o" + .include "src/item_menu.o" + +@ shop gUnknown_03000708: @ 3000708 .space 0x10 -gUnknown_03000718: @ 3000718 - .space 0x4 + .include "src/record_mixing.o" + .include "src/tv.o" -gUnknown_0300071C: @ 300071C + @ unused variable? + .align 2 .space 0x4 -gUnknown_03000720: @ 3000720 - .space 0x1 - -gUnknown_03000721: @ 3000721 - .space 0x1 - -gUnknown_03000722: @ 3000722 - .space 0x6 +@ battle_anim_80CA710 gUnknown_03000728: @ 3000728 .space 0x8 @@ -119,45 +99,39 @@ gUnknown_03000728: @ 3000728 gUnknown_03000730: @ 3000730 .space 0x10 +@ easy_chat + gUnknown_03000740: @ 3000740 .space 0x4 +@ pokenav + gUnknown_03000744: @ 3000744 .space 0x4 +@ mauville_old_man + gUnknown_03000748: @ 3000748 .space 0x4 .include "src/menu_helpers.o" + .include "src/contest_painting.o" + .include "src/pokeblock.o" + @ unused variable? .align 2 -gUnknown_03000750: @ 3000750 - .space 0x2 - -gUnknown_03000752: @ 3000752 - .space 0x2 - -gUnknown_03000754: @ 3000754 - .space 0x2 - -gUnknown_03000756: @ 3000756 - .space 0x2 + .space 0x4 -gUnknown_03000758: @ 3000758 - .space 0x8 + .include "src/field_specials.o" -gUnknown_03000760: @ 3000760 - .space 0x50 +@ learn_move + .align 2 gUnknown_030007B0: @ 30007B0 .space 0x4 -gPcItemMenuOptionsNum: @ 30007B4 - .space 0x4 - -gUnknown_030007B8: @ 30007B8 - .space 0x770 - + .include "src/player_pc.o" + .include "asm/m4a_1.o" .include "src/agb_flash.o" .include "src/siirtc.o" .include "tools/agbcc/lib/libgcc.a:dp-bit.o" diff --git a/sym_common.txt b/sym_common.txt index dc1e62f13..fc729a587 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -3,11 +3,11 @@ .include "string_util.o" .include "link.o" .include "rtc.o" + .include "rom3.o" - .align 4 -gBattleBuffersTransferData: @ 3004040 - .space 0x170 +@ battle + .align 2 gUnknown_030041B0: @ 30041B0 .space 0x4 @@ -104,32 +104,27 @@ gUnknown_03004348: @ 3004348 gUnknown_0300434C: @ 300434C .space 0x4 -gPlayerPartyCount: @ 3004350 - .space 0x10 - -gPlayerParty: @ 3004360 - .space 0x258 - -gEnemyPartyCount: @ 30045B8 - .space 0x8 - -gEnemyParty: @ 30045C0 - .space 0x258 - + .include "pokemon_1.o" .include "rng.o" +@ egg_hatch + .align 2 gUnknown_0300481C: @ 300481C .space 0x4 .include "load_save.o" +@ trade + gUnknown_03004824: @ 3004824 .space 0x4 gUnknown_03004828: @ 3004828 .space 0x8 +@ berry_blender + gUnknown_03004830: @ 3004830 .space 0x4 @@ -142,59 +137,27 @@ gUnknown_03004840: @ 3004840 gUnknown_03004854: @ 3004854 .space 0x4 -word_3004858: @ 3004858 - .space 0x4 - -gFieldCallback: @ 300485C - .space 0x4 - -gUnknown_03004860: @ 3004860 - .space 0x4 - -gFieldLinkPlayerCount: @ 3004864 - .space 0xC - -gUnknown_03004870: @ 3004870 - .space 0x10 - -gUnknown_03004880: @ 3004880 - .space 0x18 - -gUnknown_03004898: @ 3004898 - .space 0x4 - -gUnknown_0300489C: @ 300489C - .space 0x4 - -gMapObjects: @ 30048A0 - .space 0x240 + .include "rom4.o" + .include "fieldmap.o" + .include "field_camera.o" + .include "field_map_obj.o" + .include "field_control_avatar.o" -gSelectedMapObject: @ 3004AE0 - .space 0x4 +@ party_menu? + .align 2 gUnknown_03004AE4: @ 3004AE4 .space 0x4 -gCallback_03004AE8: @ 3004AE8 - .space 0x4 - -gDisableMusic: @ 3004AEC - .space 0x4 - -gSoundAnimFramesToWait: @ 3004AF0 - .space 0x10 - -gBattleAnimArgs: @ 3004B00 - .space 0x10 - -gAnimSpriteIndexArray: @ 3004B10 - .space 0x10 - + .include "start_menu.o" + .include "sound.o" + .include "battle_anim.o" .include "task.o" + .include "mori_debug_menu.o" -gUnknown_03004DA0: @ 3004DA0 - .space 0x20 +@ unknown_task + .align 4 gUnknown_03004DC0: @ 3004DC0 .space 0x20 @@ -216,21 +179,25 @@ gUnknown_03005560: @ 3005560 gUnknown_030056A0: @ 30056A0 .space 0x640 +@ pokemon_menu + gLastFieldPokeMenuOpened: @ 3005CE0 .space 0x4 gUnknown_03005CE4: @ 3005CE4 .space 0x4 -gUnknown_03005CE8: @ 3005CE8 - .space 0x4 + .include "pokedex.o" -gUnknown_03005CEC: @ 3005CEC - .space 0x4 +@ pokemon_summary_screen + .align 4 gUnknown_03005CF0: @ 3005CF0 .space 0x10 +@ item_menu + + .align 4 gUnknown_03005D00: @ 3005D00 .space 0x10 @@ -240,24 +207,31 @@ gBagPocketScrollStates: @ 3005D10 gCurrentBagPocketItemSlots: @ 3005D24 .space 0x4 -gUnknown_03005D28: @ 3005D28 - .space 0x4 +@ contest -gUnknown_03005D2C: @ 3005D2C + .align 2 +gUnknown_03005D28: @ 3005D28 .space 0x4 -gUnknown_03005D30: @ 3005D30 - .space 0x4 + .include "record_mixing.o" + .include "sound_check_menu.o" + .align 2 gUnknown_03005D34: @ 3005D34 .space 0x4 -gUnknown_03005D38: @ 3005D38 - .space 0x68 + .include "tv.o" + + .space 0x64 @ unused variable? +@ mauville_old_man + + .align 4 gUnknown_03005DA0: @ 3005DA0 .space 0x48 +@ cute_sketch + gUnknown_03005DE8: @ 3005DE8 .space 0x4 @@ -288,60 +262,28 @@ gUnknown_03005E08: @ 3005E08 gUnknown_03005E0C: @ 3005E0C .space 0x4 -gUnknown_03005E10: @ 3005E10 - .space 0x10 - -gUnknown_03005E20: @ 3005E20 - .space 0x20 - -gUnknown_03005E40: @ 3005E40 - .space 0x4C + .include "contest_painting.o" -gUnknown_03005E8C: @ 3005E8C - .space 0x4 - -gUnknown_03005E90: @ 3005E90 - .space 0x4 +@ evolution_scene + .align 2 gUnknown_03005E94: @ 3005E94 .space 0x4 -gUnknown_03005E98: @ 3005E98 - .space 0x4 - -gLastWrittenSector: @ 3005E9C - .space 0x4 - -gLastSaveCounter: @ 3005EA0 - .space 0x4 - -gLastKnownGoodSector: @ 3005EA4 - .space 0x4 - -gDamagedSaveSectors: @ 3005EA8 - .space 0x4 +@ pokedex_cry_screen -gSaveCounter: @ 3005EAC - .space 0x4 - -gFastSaveSection: @ 3005EB0 - .space 0x4 - -gUnknown_03005EB4: @ 3005EB4 +gUnknown_03005E98: @ 3005E98 .space 0x4 -gSaveFileStatus: @ 3005EB8 - .space 0x4 + .include "save.o" -gGameContinueCallback: @ 3005EBC - .space 0x14 + .space 0x10 @ unused variable? -gIntroFrameCounter: @ 3005ED0 - .space 0x10 + .include "intro.o" -gMultibootProgramStruct: @ 3005EE0 - .space 0x2C +@ battle_anim_813F0F4 + .align 2 gUnknown_03005F0C: @ 3005F0C .space 0x4 @@ -351,6 +293,8 @@ gUnknown_03005F10: @ 3005F10 gUnknown_03005F14: @ 3005F14 .space 0xC +@ pokeblock_feed + gUnknown_03005F20: @ 3005F20 .space 0x4 diff --git a/sym_ewram.txt b/sym_ewram.txt index b44263a1e..0e8b25e28 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -6,17 +6,11 @@ .space 0x2E8 .include "src/link.o" + .include "src/rom3.o" - .align 2 -gUnknown_020238C4: @ 20238C4 - .space 0x1 - -gUnknown_020238C5: @ 20238C5 - .space 0x1 - -gUnknown_020238C6: @ 20238C6 - .space 0x2 +@ battle + .align 2 gUnknown_020238C8: @ 20238C8 .space 0x4 @@ -299,20 +293,11 @@ word_2024E82: @ 2024E82 gBattleMonForms: @ 2024E84 .space 0x4 -byte_2024E88: @ 2024E88 - .space 0x4 + .include "src/pokemon_1.o" + .include "src/pokemon_2.o" + .include "src/load_save.o" -gUnknown_02024E8C: @ 2024E8C - .space 0x18 - -gSaveBlock2: @ 2024EA4 - .space 0x890 - -gSaveBlock1: @ 2025734 - .space 0x3AC0 - -gLoadedSaveData: @ items - .space 0x4D8 +@ trade gUnknown_020296CC: @ 20296CC .space 0x34 @@ -323,6 +308,8 @@ gUnknown_02029700: @ 2029700 gUnknown_020297D8: @ 20297D8 .space 0x4 +@ berry_blender + gUnknown_020297DC: @ 20297DC .space 0x4 @@ -335,128 +322,20 @@ gUnknown_020297E4: @ 20297E4 gUnknown_020297E8: @ 20297E8 .space 0x4 -gDifferentSaveFile: @ 20297EC - .space 0x1 - -gUnknown_020297ED: @ 20297ED - .space 0x3 - -gUnknown_020297F0: @ 20297F0 - .space 0x8 - -gUnknown_020297F8: @ 20297F8 - .space 0x8 - -gUnknown_02029800: @ 2029800 - .space 0x8 - -gUnknown_02029808: @ 2029808 - .space 0x8 - -gUnknown_02029810: @ 2029810 - .space 0x4 - -gUnknown_02029814: @ 2029814 - .space 0x2 - -gUnknown_02029816: @ 2029816 - .space 0x2 - -gLinkPlayerMapObjects: @ 2029818 - .space 0x10 - + .include "src/new_game.o" + .include "src/rom4.o" .include "src/fieldmap.o" + .include "src/field_camera.o" + .include "src/field_player_avatar.o" + .include "src/field_message_box.o" + .include "src/script.o" + .include "src/scrcmd.o" + .include "src/field_control_avatar.o" + .include "src/event_data.o" -gUnknown_0202E854: @ 202E854 - .space 0x4 - -gPlayerAvatar: @ 202E858 - .space 0x14 - -gUnknown_0202E86C: @ 202E86C - .space 0x8 - -gUnknown_0202E874: @ 202E874 - .space 0x8 - -gFieldMessageBoxWindow: @ 202E87C - .space 0x30 - -gUnknown_0202E8AC: @ 202E8AC - .space 0x4 - -gUnknown_0202E8B0: @ 202E8B0 - .space 0x4 - -gUnknown_0202E8B4: @ 202E8B4 - .space 0x2 - -gUnknown_0202E8B6: @ 202E8B6 - .space 0x2 - -gUnknown_0202E8B8: @ 202E8B8 - .space 0x2 - -gUnknown_0202E8BA: @ 202E8BA - .space 0x2 - -gUnknown_0202E8BC: @ 202E8BC - .space 0x4 - -gUnknown_0202E8C0: @ 202E8C0 - .space 0x2 - -gUnknown_0202E8C2: @ 202E8C2 - .space 0x2 - -gSpecialVar_0x8000: @ 202E8C4 - .space 0x2 - -gSpecialVar_0x8001: @ 202E8C6 - .space 0x2 - -gSpecialVar_0x8002: @ 202E8C8 - .space 0x2 - -gSpecialVar_0x8003: @ 202E8CA - .space 0x2 - -gSpecialVar_0x8004: @ 202E8CC - .space 0x2 - -gSpecialVar_0x8005: @ 202E8CE - .space 0x2 - -gSpecialVar_0x8006: @ 202E8D0 - .space 0x2 - -gSpecialVar_0x8007: @ 202E8D2 - .space 0x2 - -gSpecialVar_0x8008: @ 202E8D4 - .space 0x2 - -gSpecialVar_0x8009: @ 202E8D6 - .space 0x2 - -gSpecialVar_0x800A: @ 202E8D8 - .space 0x2 - -gSpecialVar_0x800B: @ 202E8DA - .space 0x2 - -gScriptResult: @ 202E8DC - .space 0x2 - -gScriptLastTalked: @ 202E8DE - .space 0x2 - -gScriptFacing: @ 202E8E0 - .space 0x2 - -gUnknown_0202E8E2: @ 202E8E2 - .space 0x12 +@ party_menu + .align 2 gUnknown_0202E8F4: @ 202E8F4 .space 0x1 @@ -476,20 +355,14 @@ gUnknown_0202E8FA: @ 202E8FA .include "src/menu.o" .include "src/tileset_anim.o" .include "src/palette.o" - - .align 2 -gMPlay_PokemonCry: @ 202F79C - .space 0x4 - -gPokemonCryBGMDuckingCounter: @ 202F7A0 - .space 0x4 - + .include "src/sound.o" .include "src/battle_anim.o" .include "src/rom_8077ABC.o" + .include "src/title_screen.o" -gUnknown_0202F7E4: @ 202F7E4 - .space 0x4 +@ field_weather + .align 2 gUnknown_0202F7E8: @ 202F7E8 .space 0x200 @@ -507,13 +380,15 @@ gUnknown_0202FF58: @ 202FF58 .include "src/battle_setup.o" .include "src/wild_encounter.o" + .include "src/field_effect.o" -gUnknown_0202FF84: @ 202FF84 - .space 0x20 +@ unknown_task gUnknown_0202FFA4: @ 202FFA4 .space 0x4 +@ pokemon_menu + gUnknown_0202FFA8: @ 202FFA8 .space 0x1 @@ -523,27 +398,13 @@ gUnknown_0202FFA9: @ 202FFA9 gUnknown_0202FFAA: @ 202FFAA .space 0xA -gPokedexView: @ 202FFB4 - .space 0x4 + .include "src/pokedex.o" + .include "src/trainer_card.o" + .include "src/pokemon_storage_system.o" -gUnknown_0202FFB8: @ 202FFB8 - .space 0x2 - -gUnknown_0202FFBA: @ 202FFBA - .space 0x2 - -gUnknown_0202FFBC: @ 202FFBC - .space 0x4 - -gTrainerCards: @ 202FFC0 - .space 0xE0 - -gPokemonStorage: @ 20300A0 - .space 0x360 - -gUnknown_02030400: @ 02030400 - .space 0x8070 +@ still pokemon_storage_system + .align 2 gUnknown_02038470: @ 2038470 .space 0x3 @@ -595,19 +456,21 @@ gUnknown_020384EA: @ 20384EA gUnknown_020384EC: @ 20384EC .space 0x4 +@ pokemon_summary_screen + gUnknown_020384F0: @ 20384F0 .space 0x4 gUnknown_020384F4: @ 20384F4 .space 0x4 -gUnknown_020384F8: @ 20384F8 - .space 0x40 - + .include "src/script_movement.o" .include "src/map_name_popup.o" .include "src/item_menu.o" - .align 2 +@ contest + + .align 2 gUnknown_0203856C: @ 203856C .space 0x4 @@ -660,6 +523,8 @@ gScriptContestCategory: @ 203869C gScriptContestRank: @ 203869E .space 0x2 +@ shop + gUnknown_020386A0: @ 20386A0 .space 0x4 @@ -681,182 +546,67 @@ gUnknown_02038730: @ 2038730 gUnknown_02038731: @ 2038731 .space 0x3 -gUnknown_02038734: @ 2038734 - .space 0x4 + .include "src/money.o" + +@ record_mixing + .align 2 gUnknown_02038738: @ 2038738 .space 0x78 -gUnknown_020387B0: @ 20387B0 - .space 0x1 - -gUnknown_020387B1: @ 20387B1 - .space 0x1 - -gUnknown_020387B2: @ 20387B2 - .space 0x1 - -gUnknown_020387B3: @ 20387B3 - .space 0x1 - -gUnknown_020387B4: @ 20387B4 - .space 0x24 - -gUnknown_020387D8: @ 20387D8 - .space 0x1 + .include "src/sound_check_menu.o" -gUnknown_020387D9: @ 20387D9 - .space 0x3 +@ secret_base + .align 2 gUnknown_020387DC: @ 20387DC .space 0x4 -gUnknown_020387E0: @ 20387E0 - .space 0x2 +@ tv -gUnknown_020387E2: @ 20387E2 - .space 0x2 + .include "src/tv.o" -gUnknown_020387E4: @ 20387E4 - .space 0x4 - -gUnknown_020387E8: @ 20387E8 - .space 0x4 +@ fldeff_80C5CD4 + .align 2 gUnknown_020387EC: @ 20387EC .space 0x4 -gRotatingGate_GateSpriteIds: @ 20387F0 - .space 0x10 - -gRotatingGate_PuzzleConfig: @ 2038800 - .space 0x4 - -gRotatingGate_PuzzleCount: @ 2038804 - .space 0x4 - + .include "src/rotating_gate.o" .include "src/safari_zone.o" +@ easy_chat + gUnknown_020388AC: @ 20388AC .space 0x4 +@ pokenav + gUnknown_020388B0: @ 20388B0 .space 0x4 gUnknown_020388B4: @ 20388B4 .space 0x4 -gUnknown_020388B8: @ 20388B8 - .space 0x4 - -gUnknown_020388BC: @ 20388BC - .space 0x4 + .include "src/mon_markings.o" - .include "src/menu_helpers.o" +@ mauville_old_man .align 2 -gRegionMap: @ 20388CC - .space 0x4 - -gUnknown_020388D0: @ 20388D0 - .space 0x4 - -gUnknown_020388D4: @ 20388D4 - .space 0x1 - -gUnknown_020388D5: @ 20388D5 - .space 0x1 - -gUnknown_020388D6: @ 20388D6 - .space 0x10 - -gUnknown_020388E6: @ 20388E6 - .space 0xC - -gUnknown_020388F2: @ 20388F2 - .space 0x1 - -gUnknown_020388F3: @ 20388F3 - .space 0x1 - -gUnknown_020388F4: @ 20388F4 - .space 0x1 - -gUnknown_020388F5: @ 20388F5 - .space 0x1 - -gUnknown_020388F6: @ 20388F6 - .space 0x1 - -gUnknown_020388F7: @ 20388F7 - .space 0x9 - -gUnknown_02038900: @ 2038900 - .space 0x8A4 - -gUnknown_020391A4: @ 20391A4 - .space 0x2 - -gUnknown_020391A6: @ 20391A6 - .space 0x2 - -gUnknown_020391A8: @ 20391A8 - .space 0x1 - -gUnknown_020391A9: @ 20391A9 - .space 0x1 - -gUnknown_020391AA: @ 20391AA - .space 0x2 - -gUnknown_020391AC: @ 20391AC - .space 0x8 - -gUnknown_020391B4: @ 20391B4 - .space 0x80 - -gUnknown_02039234: @ 2039234 - .space 0x4 - -gAIScriptPtr: @ 2039238 - .space 0x4 - -gUnknown_0203923C: @ 203923C - .space 0x8 - -gUnknown_02039244: @ 2039244 - .space 0x4 - -gUnknown_02039248: @ 2039248 - .space 0x4 - -gUnknown_0203924C: @ 203924C - .space 0x4 - -gUnknown_02039250: @ 2039250 - .space 0x1 - -gUnknown_02039251: @ 2039251 - .space 0x3 - -gUnknown_02039254: @ 2039254 +gUnknown_020388BC: @ 20388BC .space 0x4 -gUnknown_02039258: @ 2039258 - .space 0x1 - -gUnknown_02039259: @ 2039259 - .space 0x1 - -gUnknown_0203925A: @ 203925A - .space 0x1 - -gUnknown_0203925B: @ 203925B - .space 0x1 + .include "src/menu_helpers.o" + .include "src/region_map.o" + .include "src/decoration.o" + .include "src/battle_ai.o" + .include "src/rom6.o" + .include "src/pokeblock.o" + .include "src/field_specials.o" -gUnknown_0203925C: @ 203925C - .space 0x4 +@ pokedex_area_screen + .align 2 gUnknown_02039260: @ 2039260 .space 0x2 @@ -875,12 +625,16 @@ gUnknown_02039268: @ 2039268 gUnknown_0203926A: @ 203926A .space 0x2 +@ battle_message + gAbilitiesPerBank: @ 203926C .space 0x4 -gSelectedOrderFromParty: @ 2039270 - .space 0x4 + .include "src/choose_party.o" + +@ cable_car + .align 2 gUnknown_02039274: @ 2039274 .space 0x4 @@ -902,75 +656,33 @@ gUnknown_0203927C: @ 203927C gUnknown_0203927D: @ 203927D .space 0x7 -gLastSaveSectorStatus: @ 2039284 - .space 0x4 - -gUnknown_02039288: @ 2039288 - .space 0x74 - + .include "src/save.o" + .include "src/mystery_event_script.o" .include "src/roamer.o" + .include "src/use_pokeblock.o" + .include "src/player_pc.o" + .include "src/intro.o" - .align 2 -gUnknown_02039304: @ 2039304 - .space 0x4 - -gUnknown_02039308: @ 2039308 - .space 0x4 - -gUnknown_0203930C: @ 203930C - .space 0x4 - -gUnknown_02039310: @ 2039310 - .space 0x2 - -gUnknown_02039312: @ 2039312 - .space 0x2 - -gPcItemMenuOptionOrder: @ 2039314 - .space 0x4 - -gUnknown_02039318: @ 2039318 - .space 0x2 - -gUnknown_0203931A: @ 203931A - .space 0x2 +@ hall_of_fame + .align 2 gUnknown_0203931C: @ 203931C .space 0x4 -gUnknown_02039320: @ 2039320 - .space 0x2 - -gUnknown_02039322: @ 2039322 - .space 0x2 - -gUnknown_02039324: @ 2039324 - .space 0x1 - -gUnknown_02039325: @ 2039325 - .space 0x3 - + .include "src/credits.o" .include "src/lottery_corner.o" + .include "src/berry_tag_screen.o" + .include "src/mystery_event_menu.o" + .include "src/save_failed_screen.o" -gUnknown_0203932C: @ 203932C - .space 0x2 - -gUnknown_0203932E: @ 203932E - .space 0xA - -gUnknown_02039338: @ 2039338 - .space 0x4 - -gSaveFailedType: @ 203933C - .space 0x2 - -gSaveFailedClockInfo: @ 203933E - .space 0x12 +@ pokeblock_feed .align 2 gUnknown_02039350: @ 2039350 .space 0x8 +@ intro_credits_graphics + gUnknown_02039358: @ 2039358 .space 0x2 @@ -980,6 +692,8 @@ gUnknown_0203935A: @ 203935A gUnknown_0203935C: @ 203935C .space 0x4 +@ ??? + gTileBuffer: @ 2039360 .space 0x100 @@ -992,19 +706,4 @@ gUnknown_02039760: @ 2039760 gUnknown_0203A360: @ 203A360 .space 0x20 -gMenuCursorSubsprites: @ 203A380 - .space 0x50 - -gUnknown_0203A3D0: @ 203A3D0 - .space 0x1 - -gUnknown_0203A3D1: @ 203A3D1 - .space 0x1 - -gUnknown_0203A3D2: @ 203A3D2 - .space 0x1 - -gUnknown_0203A3D3: @ 203A3D3 - .space 0x1 - -gUnknown_0203A3D4: @ 203A3D4 + .include "src/menu_cursor.o" |