diff --git a/asm/secret_base.s b/asm/secret_base.s index 6ec19b4ce5..be3f5a231f 100644 --- a/asm/secret_base.s +++ b/asm/secret_base.s @@ -5,218 +5,6 @@ .text - thumb_func_start sub_80EB290 -sub_80EB290: @ 80EB290 - push {r4,lr} - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080EB2BA - ldr r4, =0x000040ef - adds r0, r4, 0 - bl VarGet - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 4 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet -_080EB2BA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80EB290 - - thumb_func_start sub_80EB2C8 -sub_80EB2C8: @ 80EB2C8 - push {r4,lr} - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080EB2F2 - ldr r4, =0x000040ee - adds r0, r4, 0 - bl VarGet - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet -_080EB2F2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80EB2C8 - - thumb_func_start sub_80EB300 -sub_80EB300: @ 80EB300 - push {r4,r5,lr} - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080EB34C - ldr r5, =0x000040ee - adds r0, r5, 0 - bl VarGet - ldr r1, =0x0000c7ff - ands r1, r0 - adds r0, r5, 0 - bl VarSet - ldr r4, =0x000040ef - adds r0, r4, 0 - bl VarGet - ldr r1, =0x0000fffe - ands r1, r0 - adds r0, r4, 0 - bl VarSet - adds r0, r5, 0 - bl VarGet - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 6 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl VarSet -_080EB34C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80EB300 - - thumb_func_start sub_80EB368 -sub_80EB368: @ 80EB368 - push {r4,r5,lr} - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080EB3B4 - ldr r5, =0x000040ee - adds r0, r5, 0 - bl VarGet - ldr r1, =0x0000c7ff - ands r1, r0 - adds r0, r5, 0 - bl VarSet - ldr r4, =0x000040ef - adds r0, r4, 0 - bl VarGet - ldr r1, =0x0000fffe - ands r1, r0 - adds r0, r4, 0 - bl VarSet - adds r0, r5, 0 - bl VarGet - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 4 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl VarSet -_080EB3B4: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80EB368 - - thumb_func_start sub_80EB3D0 -sub_80EB3D0: @ 80EB3D0 - push {r4,r5,lr} - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080EB41C - ldr r5, =0x000040ee - adds r0, r5, 0 - bl VarGet - ldr r1, =0x0000c7ff - ands r1, r0 - adds r0, r5, 0 - bl VarSet - ldr r4, =0x000040ef - adds r0, r4, 0 - bl VarGet - ldr r1, =0x0000fffe - ands r1, r0 - adds r0, r4, 0 - bl VarSet - adds r0, r5, 0 - bl VarGet - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 5 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - bl VarSet -_080EB41C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80EB3D0 - - thumb_func_start sub_80EB438 -sub_80EB438: @ 80EB438 - push {r4,lr} - ldr r0, =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _080EB480 - ldr r4, =0x000040ee - adds r0, r4, 0 - bl VarGet - ldr r1, =0x0000c7ff - ands r1, r0 - adds r0, r4, 0 - bl VarSet - adds r4, 0x1 - adds r0, r4, 0 - bl VarGet - ldr r1, =0x0000fffe - ands r1, r0 - adds r0, r4, 0 - bl VarSet - adds r0, r4, 0 - bl VarGet - adds r1, r0, 0 - movs r0, 0x1 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl VarSet -_080EB480: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80EB438 - thumb_func_start sub_80EB498 sub_80EB498: @ 80EB498 push {r4,lr} diff --git a/src/secret_base.c b/src/secret_base.c index 081848513d..59df479895 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1936,3 +1936,59 @@ void sub_80EB218(void) VarSet(VAR_0x40F0, FALSE); } } + +void sub_80EB290(void) +{ + if (VarGet(VAR_0x4054) != 0) + { + VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x800); + } +} + +void sub_80EB2C8(void) +{ + if (VarGet(VAR_0x4054) != 0) + { + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x400); + } +} + +void sub_80EB300(void) +{ + if (VarGet(VAR_0x4054) != 0) + { + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800); + VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001); + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x2000); + } +} + +void sub_80EB368(void) +{ + if (VarGet(VAR_0x4054) != 0) + { + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800); + VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001); + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x800); + } +} + +void sub_80EB3D0(void) +{ + if (VarGet(VAR_0x4054) != 0) + { + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800); + VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001); + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x1000); + } +} + +void sub_80EB438(void) +{ + if (VarGet(VAR_0x4054) != 0) + { + VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800); + VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001); + VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x001); + } +}