diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/code_807001C.s | 163 | ||||
-rw-r--r-- | asm/code_8070B28.s | 54 |
2 files changed, 55 insertions, 162 deletions
diff --git a/asm/code_807001C.s b/asm/code_807001C.s index 958db4f..a9c4a93 100644 --- a/asm/code_807001C.s +++ b/asm/code_807001C.s @@ -1397,165 +1397,4 @@ _08070A50: .4byte gRecruitedPokemonRef _08070A54: .4byte 0x00008df8 thumb_func_end sub_80709C8 - thumb_func_start HasNegativeStatus -HasNegativeStatus: - push {r4,lr} - ldr r0, [r0, 0x70] - mov r12, r0 - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08070ADE - cmp r0, 0x3 - beq _08070ADE - cmp r0, 0x4 - beq _08070ADE - mov r0, r12 - adds r0, 0xAC - ldrb r0, [r0] - cmp r0, 0 - bne _08070ADE - mov r0, r12 - adds r0, 0xB0 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08070A86 - cmp r0, 0 - bne _08070ADE -_08070A86: - mov r0, r12 - adds r0, 0xBC - ldrb r0, [r0] - cmp r0, 0 - bne _08070ADE - mov r0, r12 - adds r0, 0xC8 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08070ADE - cmp r0, 0x2 - beq _08070ADE - mov r0, r12 - adds r0, 0xD0 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08070ADE - mov r0, r12 - adds r0, 0xDC - ldrb r0, [r0] - cmp r0, 0x2 - beq _08070ADE - mov r0, r12 - adds r0, 0xE8 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08070ADE - cmp r0, 0x2 - beq _08070ADE - mov r0, r12 - adds r0, 0xEC - ldrb r0, [r0] - cmp r0, 0x1 - beq _08070ADE - mov r0, r12 - adds r0, 0xF5 - ldrb r0, [r0] - cmp r0, 0 - bne _08070ADE - mov r0, r12 - adds r0, 0xFD - ldrb r0, [r0] - cmp r0, 0 - beq _08070AE2 -_08070ADE: - movs r0, 0x1 - b _08070B1E -_08070AE2: - movs r3, 0 - movs r4, 0x1 - movs r2, 0x8C - lsls r2, 1 - add r2, r12 -_08070AEC: - ldrb r1, [r2] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08070B00 - ldrb r1, [r2, 0x1] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _08070ADE -_08070B00: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, 0x3 - ble _08070AEC - movs r3, 0 - ldr r1, _08070B24 - add r1, r12 -_08070B0E: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08070ADE - adds r3, 0x1 - cmp r3, 0x4 - ble _08070B0E - movs r0, 0 -_08070B1E: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08070B24: .4byte 0x0000010d - thumb_func_end HasNegativeStatus - - thumb_func_start IsSleeping -IsSleeping: - push {lr} - ldr r0, [r0, 0x70] - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08070B40 - cmp r0, 0x5 - beq _08070B40 - cmp r0, 0x3 - beq _08070B40 - movs r0, 0 - b _08070B42 -_08070B40: - movs r0, 0x1 -_08070B42: - pop {r1} - bx r1 - thumb_func_end IsSleeping - - thumb_func_start HasQuarterHPOrLess -HasQuarterHPOrLess: - push {lr} - ldr r0, [r0, 0x70] - adds r1, r0, 0 - movs r2, 0x10 - ldrsh r0, [r1, r2] - cmp r0, 0 - bge _08070B58 - adds r0, 0x3 -_08070B58: - movs r2, 0xE - ldrsh r1, [r1, r2] - asrs r0, 2 - cmp r1, r0 - ble _08070B66 - movs r0, 0 - b _08070B68 -_08070B66: - movs r0, 0x1 -_08070B68: - pop {r1} - bx r1 - thumb_func_end HasQuarterHPOrLess - - .align 2, 0 + .align 2, 0
\ No newline at end of file diff --git a/asm/code_8070B28.s b/asm/code_8070B28.s new file mode 100644 index 0000000..65b82a2 --- /dev/null +++ b/asm/code_8070B28.s @@ -0,0 +1,54 @@ + #include "asm/constants/gba_constants.inc" + #include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start IsSleeping +IsSleeping: + push {lr} + ldr r0, [r0, 0x70] + adds r0, 0xA8 + ldrb r0, [r0] + cmp r0, 0x1 + beq _08070B40 + cmp r0, 0x5 + beq _08070B40 + cmp r0, 0x3 + beq _08070B40 + movs r0, 0 + b _08070B42 +_08070B40: + movs r0, 0x1 +_08070B42: + pop {r1} + bx r1 + thumb_func_end IsSleeping + + thumb_func_start HasQuarterHPOrLess +HasQuarterHPOrLess: + push {lr} + ldr r0, [r0, 0x70] + adds r1, r0, 0 + movs r2, 0x10 + ldrsh r0, [r1, r2] + cmp r0, 0 + bge _08070B58 + adds r0, 0x3 +_08070B58: + movs r2, 0xE + ldrsh r1, [r1, r2] + asrs r0, 2 + cmp r1, r0 + ble _08070B66 + movs r0, 0 + b _08070B68 +_08070B66: + movs r0, 0x1 +_08070B68: + pop {r1} + bx r1 + thumb_func_end HasQuarterHPOrLess + + .align 2, 0 |