summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenny022p <info@henny022.de>2021-02-16 08:32:11 +0100
committerHenny022p <info@henny022.de>2021-02-16 08:32:11 +0100
commit9230625aae371c1124fbfb6977e00b4e8fdb808a (patch)
treee7adddc75bdc701db8ad4054c636e2e40c4637b1
parentad68925eaeac3918a66f30ea26f7c7192d70d23c (diff)
non match sub_0807D46C
-rw-r--r--asm/code_0807CC3C.s342
-rw-r--r--asm/non_matching/code_0807CC3C/sub_0807D46C.inc347
-rw-r--r--asm/non_matching/code_0807CC3C/sub_0807D6D8.inc3
-rw-r--r--src/code_0807CC3C.c6
4 files changed, 352 insertions, 346 deletions
diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s
index b144a7a3..96b685f8 100644
--- a/asm/code_0807CC3C.s
+++ b/asm/code_0807CC3C.s
@@ -684,345 +684,3 @@ _0807D462:
pop {r4, r5, r6, r7, pc}
.align 2, 0
- thumb_func_start sub_0807D46C
-sub_0807D46C: @ 0x0807D46C
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #8
- str r0, [sp]
- str r1, [sp, #4]
- ldr r0, _0807D494 @ =gRoomControls
- ldrb r2, [r0, #0x10]
- mov sb, r0
- cmp r2, #1
- bne _0807D488
- b _0807D5C4
-_0807D488:
- cmp r2, #1
- bgt _0807D498
- cmp r2, #0
- beq _0807D4A4
- b _0807D6CC
- .align 2, 0
-_0807D494: .4byte gRoomControls
-_0807D498:
- cmp r2, #2
- beq _0807D4A4
- cmp r2, #3
- bne _0807D4A2
- b _0807D5C4
-_0807D4A2:
- b _0807D6CC
-_0807D4A4:
- mov r1, sb
- movs r2, #0xa
- ldrsh r0, [r1, r2]
- ldrh r1, [r1, #6]
- subs r5, r0, r1
- cmp r5, #7
- ble _0807D4B4
- subs r5, #8
-_0807D4B4:
- mov r3, sb
- ldr r0, [r3, #0x30]
- movs r2, #0x2e
- ldrsh r0, [r0, r2]
- subs r0, r0, r1
- subs r3, r0, #4
- mov r8, r3
- cmp r3, #7
- ble _0807D4CA
- subs r0, #0xc
- mov r8, r0
-_0807D4CA:
- mov r0, sb
- movs r2, #0xc
- ldrsh r1, [r0, r2]
- ldrh r0, [r0, #8]
- subs r1, r1, r0
- mov ip, r1
- cmp r1, #7
- ble _0807D4E0
- movs r3, #8
- rsbs r3, r3, #0
- add ip, r3
-_0807D4E0:
- mov r1, sb
- ldrh r0, [r1, #0x18]
- lsls r0, r0, #3
- mov r2, r8
- subs r0, r2, r0
- adds r7, r5, #0
- adds r7, #0xf8
- cmp r0, r5
- blt _0807D548
- mov r1, ip
- asrs r3, r1, #3
- lsls r1, r3, #8
- ldr r2, [sp]
- adds r1, r2, r1
- asrs r0, r0, #3
- lsls r2, r0, #1
- adds r4, r1, r2
- movs r1, #0x1f
- ands r0, r1
- lsls r0, r0, #1
- ldr r2, [sp, #4]
- adds r6, r2, r0
- ands r3, r1
- lsls r2, r3, #5
- mov r3, sb
- ldrh r0, [r3, #0x20]
- lsls r1, r0, #0x10
- lsrs r0, r1, #0x10
- cmp r0, #0xaf
- bhi _0807D520
- lsrs r3, r1, #0x13
- b _0807D522
-_0807D520:
- movs r3, #0x16
-_0807D522:
- adds r7, r5, #0
- adds r7, #0xf8
- cmp r3, #0
- ble _0807D548
- ldr r0, _0807D55C @ =0x000003FF
- mov sl, r0
-_0807D52E:
- lsls r0, r2, #1
- adds r0, r0, r6
- ldrh r1, [r4]
- strh r1, [r0]
- movs r1, #0x80
- lsls r1, r1, #1
- adds r4, r4, r1
- adds r2, #0x20
- mov r0, sl
- ands r2, r0
- subs r3, #1
- cmp r3, #0
- bgt _0807D52E
-_0807D548:
- mov r1, sb
- ldrh r0, [r1, #0x18]
- adds r0, #1
- lsls r0, r0, #3
- add r0, r8
- ldrh r2, [r1, #0x1e]
- cmp r7, r2
- blt _0807D560
- adds r1, r7, #0
- b _0807D566
- .align 2, 0
-_0807D55C: .4byte 0x000003FF
-_0807D560:
- movs r3, #0x80
- lsls r3, r3, #1
- adds r1, r5, r3
-_0807D566:
- cmp r0, r1
- blt _0807D56C
- b _0807D6CC
-_0807D56C:
- mov r1, ip
- asrs r3, r1, #3
- lsls r1, r3, #8
- ldr r2, [sp]
- adds r1, r2, r1
- asrs r0, r0, #3
- lsls r2, r0, #1
- adds r4, r1, r2
- movs r1, #0x1f
- ands r0, r1
- lsls r0, r0, #1
- ldr r2, [sp, #4]
- adds r6, r2, r0
- ands r3, r1
- lsls r2, r3, #5
- mov r3, sb
- ldrh r0, [r3, #0x20]
- lsls r1, r0, #0x10
- lsrs r0, r1, #0x10
- cmp r0, #0xaf
- bhi _0807D59A
- lsrs r3, r1, #0x13
- b _0807D59C
-_0807D59A:
- movs r3, #0x16
-_0807D59C:
- cmp r3, #0
- bgt _0807D5A2
- b _0807D6CC
-_0807D5A2:
- movs r7, #0x80
- lsls r7, r7, #1
- ldr r5, _0807D5C0 @ =0x000003FF
-_0807D5A8:
- lsls r0, r2, #1
- adds r0, r0, r6
- ldrh r1, [r4]
- strh r1, [r0]
- adds r4, r4, r7
- adds r2, #0x20
- ands r2, r5
- subs r3, #1
- cmp r3, #0
- bgt _0807D5A8
- b _0807D6CC
- .align 2, 0
-_0807D5C0: .4byte 0x000003FF
-_0807D5C4:
- mov r1, sb
- movs r2, #0xc
- ldrsh r0, [r1, r2]
- ldrh r2, [r1, #8]
- subs r5, r0, r2
- cmp r5, #7
- ble _0807D5D4
- subs r5, #8
-_0807D5D4:
- mov r3, sb
- movs r0, #0xa
- ldrsh r1, [r3, r0]
- ldrh r0, [r3, #6]
- subs r1, r1, r0
- mov r8, r1
- cmp r1, #7
- ble _0807D5EA
- movs r1, #8
- rsbs r1, r1, #0
- add r8, r1
-_0807D5EA:
- mov r3, sb
- ldr r0, [r3, #0x30]
- movs r1, #0x32
- ldrsh r0, [r0, r1]
- subs r0, r0, r2
- subs r2, r0, #4
- mov ip, r2
- cmp r2, #7
- ble _0807D600
- subs r0, #0xc
- mov ip, r0
-_0807D600:
- mov r3, sb
- ldrh r0, [r3, #0x18]
- lsls r0, r0, #3
- mov r1, ip
- subs r0, r1, r0
- adds r7, r5, #0
- adds r7, #0xa8
- movs r2, #0xb0
- adds r2, r2, r5
- mov sl, r2
- cmp r0, r5
- blt _0807D66A
- asrs r2, r0, #3
- lsls r0, r2, #8
- ldr r3, [sp]
- adds r0, r3, r0
- mov r1, r8
- asrs r3, r1, #3
- lsls r1, r3, #1
- adds r4, r0, r1
- movs r0, #0x1f
- ands r2, r0
- lsls r2, r2, #6
- ldr r1, [sp, #4]
- adds r6, r1, r2
- adds r2, r0, #0
- ands r2, r3
- mov r3, sb
- ldrh r0, [r3, #0x1e]
- lsls r1, r0, #0x10
- lsrs r0, r1, #0x10
- cmp r0, #0xff
- bhi _0807D646
- lsrs r3, r1, #0x13
- b _0807D648
-_0807D646:
- movs r3, #0x20
-_0807D648:
- adds r7, r5, #0
- adds r7, #0xa8
- adds r5, #0xb0
- mov sl, r5
- cmp r3, #0
- ble _0807D66A
- movs r5, #0x1f
-_0807D656:
- lsls r0, r2, #1
- adds r0, r0, r6
- ldrh r1, [r4]
- strh r1, [r0]
- adds r4, #2
- adds r2, #1
- ands r2, r5
- subs r3, #1
- cmp r3, #0
- bgt _0807D656
-_0807D66A:
- mov r1, sb
- ldrh r0, [r1, #0x18]
- adds r0, #1
- lsls r0, r0, #3
- add r0, ip
- mov r2, sl
- ldrh r1, [r1, #0x20]
- cmp r7, r1
- blt _0807D67E
- adds r2, r7, #0
-_0807D67E:
- cmp r0, r2
- bge _0807D6CC
- asrs r2, r0, #3
- lsls r0, r2, #8
- ldr r1, [sp]
- adds r0, r1, r0
- mov r1, r8
- asrs r3, r1, #3
- lsls r1, r3, #1
- adds r4, r0, r1
- movs r0, #0x1f
- ands r2, r0
- lsls r2, r2, #6
- ldr r1, [sp, #4]
- adds r6, r1, r2
- adds r2, r0, #0
- ands r2, r3
- mov r3, sb
- ldrh r0, [r3, #0x1e]
- lsls r1, r0, #0x10
- lsrs r0, r1, #0x10
- cmp r0, #0xff
- bhi _0807D6B0
- lsrs r3, r1, #0x13
- b _0807D6B2
-_0807D6B0:
- movs r3, #0x20
-_0807D6B2:
- cmp r3, #0
- ble _0807D6CC
- movs r5, #0x1f
-_0807D6B8:
- lsls r0, r2, #1
- adds r0, r0, r6
- ldrh r1, [r4]
- strh r1, [r0]
- adds r4, #2
- adds r2, #1
- ands r2, r5
- subs r3, #1
- cmp r3, #0
- bgt _0807D6B8
-_0807D6CC:
- add sp, #8
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7, pc}
-
diff --git a/asm/non_matching/code_0807CC3C/sub_0807D46C.inc b/asm/non_matching/code_0807CC3C/sub_0807D46C.inc
new file mode 100644
index 00000000..bc6c9618
--- /dev/null
+++ b/asm/non_matching/code_0807CC3C/sub_0807D46C.inc
@@ -0,0 +1,347 @@
+ .include "asm/macros.inc"
+
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ push {r4, r5, r6, r7, lr}
+ mov r7, sl
+ mov r6, sb
+ mov r5, r8
+ push {r5, r6, r7}
+ sub sp, #8
+ str r0, [sp]
+ str r1, [sp, #4]
+ ldr r0, _0807D494 @ =gRoomControls
+ ldrb r2, [r0, #0x10]
+ mov sb, r0
+ cmp r2, #1
+ bne _0807D488
+ b _0807D5C4
+_0807D488:
+ cmp r2, #1
+ bgt _0807D498
+ cmp r2, #0
+ beq _0807D4A4
+ b _0807D6CC
+ .align 2, 0
+_0807D494: .4byte gRoomControls
+_0807D498:
+ cmp r2, #2
+ beq _0807D4A4
+ cmp r2, #3
+ bne _0807D4A2
+ b _0807D5C4
+_0807D4A2:
+ b _0807D6CC
+_0807D4A4:
+ mov r1, sb
+ movs r2, #0xa
+ ldrsh r0, [r1, r2]
+ ldrh r1, [r1, #6]
+ subs r5, r0, r1
+ cmp r5, #7
+ ble _0807D4B4
+ subs r5, #8
+_0807D4B4:
+ mov r3, sb
+ ldr r0, [r3, #0x30]
+ movs r2, #0x2e
+ ldrsh r0, [r0, r2]
+ subs r0, r0, r1
+ subs r3, r0, #4
+ mov r8, r3
+ cmp r3, #7
+ ble _0807D4CA
+ subs r0, #0xc
+ mov r8, r0
+_0807D4CA:
+ mov r0, sb
+ movs r2, #0xc
+ ldrsh r1, [r0, r2]
+ ldrh r0, [r0, #8]
+ subs r1, r1, r0
+ mov ip, r1
+ cmp r1, #7
+ ble _0807D4E0
+ movs r3, #8
+ rsbs r3, r3, #0
+ add ip, r3
+_0807D4E0:
+ mov r1, sb
+ ldrh r0, [r1, #0x18]
+ lsls r0, r0, #3
+ mov r2, r8
+ subs r0, r2, r0
+ adds r7, r5, #0
+ adds r7, #0xf8
+ cmp r0, r5
+ blt _0807D548
+ mov r1, ip
+ asrs r3, r1, #3
+ lsls r1, r3, #8
+ ldr r2, [sp]
+ adds r1, r2, r1
+ asrs r0, r0, #3
+ lsls r2, r0, #1
+ adds r4, r1, r2
+ movs r1, #0x1f
+ ands r0, r1
+ lsls r0, r0, #1
+ ldr r2, [sp, #4]
+ adds r6, r2, r0
+ ands r3, r1
+ lsls r2, r3, #5
+ mov r3, sb
+ ldrh r0, [r3, #0x20]
+ lsls r1, r0, #0x10
+ lsrs r0, r1, #0x10
+ cmp r0, #0xaf
+ bhi _0807D520
+ lsrs r3, r1, #0x13
+ b _0807D522
+_0807D520:
+ movs r3, #0x16
+_0807D522:
+ adds r7, r5, #0
+ adds r7, #0xf8
+ cmp r3, #0
+ ble _0807D548
+ ldr r0, _0807D55C @ =0x000003FF
+ mov sl, r0
+_0807D52E:
+ lsls r0, r2, #1
+ adds r0, r0, r6
+ ldrh r1, [r4]
+ strh r1, [r0]
+ movs r1, #0x80
+ lsls r1, r1, #1
+ adds r4, r4, r1
+ adds r2, #0x20
+ mov r0, sl
+ ands r2, r0
+ subs r3, #1
+ cmp r3, #0
+ bgt _0807D52E
+_0807D548:
+ mov r1, sb
+ ldrh r0, [r1, #0x18]
+ adds r0, #1
+ lsls r0, r0, #3
+ add r0, r8
+ ldrh r2, [r1, #0x1e]
+ cmp r7, r2
+ blt _0807D560
+ adds r1, r7, #0
+ b _0807D566
+ .align 2, 0
+_0807D55C: .4byte 0x000003FF
+_0807D560:
+ movs r3, #0x80
+ lsls r3, r3, #1
+ adds r1, r5, r3
+_0807D566:
+ cmp r0, r1
+ blt _0807D56C
+ b _0807D6CC
+_0807D56C:
+ mov r1, ip
+ asrs r3, r1, #3
+ lsls r1, r3, #8
+ ldr r2, [sp]
+ adds r1, r2, r1
+ asrs r0, r0, #3
+ lsls r2, r0, #1
+ adds r4, r1, r2
+ movs r1, #0x1f
+ ands r0, r1
+ lsls r0, r0, #1
+ ldr r2, [sp, #4]
+ adds r6, r2, r0
+ ands r3, r1
+ lsls r2, r3, #5
+ mov r3, sb
+ ldrh r0, [r3, #0x20]
+ lsls r1, r0, #0x10
+ lsrs r0, r1, #0x10
+ cmp r0, #0xaf
+ bhi _0807D59A
+ lsrs r3, r1, #0x13
+ b _0807D59C
+_0807D59A:
+ movs r3, #0x16
+_0807D59C:
+ cmp r3, #0
+ bgt _0807D5A2
+ b _0807D6CC
+_0807D5A2:
+ movs r7, #0x80
+ lsls r7, r7, #1
+ ldr r5, _0807D5C0 @ =0x000003FF
+_0807D5A8:
+ lsls r0, r2, #1
+ adds r0, r0, r6
+ ldrh r1, [r4]
+ strh r1, [r0]
+ adds r4, r4, r7
+ adds r2, #0x20
+ ands r2, r5
+ subs r3, #1
+ cmp r3, #0
+ bgt _0807D5A8
+ b _0807D6CC
+ .align 2, 0
+_0807D5C0: .4byte 0x000003FF
+_0807D5C4:
+ mov r1, sb
+ movs r2, #0xc
+ ldrsh r0, [r1, r2]
+ ldrh r2, [r1, #8]
+ subs r5, r0, r2
+ cmp r5, #7
+ ble _0807D5D4
+ subs r5, #8
+_0807D5D4:
+ mov r3, sb
+ movs r0, #0xa
+ ldrsh r1, [r3, r0]
+ ldrh r0, [r3, #6]
+ subs r1, r1, r0
+ mov r8, r1
+ cmp r1, #7
+ ble _0807D5EA
+ movs r1, #8
+ rsbs r1, r1, #0
+ add r8, r1
+_0807D5EA:
+ mov r3, sb
+ ldr r0, [r3, #0x30]
+ movs r1, #0x32
+ ldrsh r0, [r0, r1]
+ subs r0, r0, r2
+ subs r2, r0, #4
+ mov ip, r2
+ cmp r2, #7
+ ble _0807D600
+ subs r0, #0xc
+ mov ip, r0
+_0807D600:
+ mov r3, sb
+ ldrh r0, [r3, #0x18]
+ lsls r0, r0, #3
+ mov r1, ip
+ subs r0, r1, r0
+ adds r7, r5, #0
+ adds r7, #0xa8
+ movs r2, #0xb0
+ adds r2, r2, r5
+ mov sl, r2
+ cmp r0, r5
+ blt _0807D66A
+ asrs r2, r0, #3
+ lsls r0, r2, #8
+ ldr r3, [sp]
+ adds r0, r3, r0
+ mov r1, r8
+ asrs r3, r1, #3
+ lsls r1, r3, #1
+ adds r4, r0, r1
+ movs r0, #0x1f
+ ands r2, r0
+ lsls r2, r2, #6
+ ldr r1, [sp, #4]
+ adds r6, r1, r2
+ adds r2, r0, #0
+ ands r2, r3
+ mov r3, sb
+ ldrh r0, [r3, #0x1e]
+ lsls r1, r0, #0x10
+ lsrs r0, r1, #0x10
+ cmp r0, #0xff
+ bhi _0807D646
+ lsrs r3, r1, #0x13
+ b _0807D648
+_0807D646:
+ movs r3, #0x20
+_0807D648:
+ adds r7, r5, #0
+ adds r7, #0xa8
+ adds r5, #0xb0
+ mov sl, r5
+ cmp r3, #0
+ ble _0807D66A
+ movs r5, #0x1f
+_0807D656:
+ lsls r0, r2, #1
+ adds r0, r0, r6
+ ldrh r1, [r4]
+ strh r1, [r0]
+ adds r4, #2
+ adds r2, #1
+ ands r2, r5
+ subs r3, #1
+ cmp r3, #0
+ bgt _0807D656
+_0807D66A:
+ mov r1, sb
+ ldrh r0, [r1, #0x18]
+ adds r0, #1
+ lsls r0, r0, #3
+ add r0, ip
+ mov r2, sl
+ ldrh r1, [r1, #0x20]
+ cmp r7, r1
+ blt _0807D67E
+ adds r2, r7, #0
+_0807D67E:
+ cmp r0, r2
+ bge _0807D6CC
+ asrs r2, r0, #3
+ lsls r0, r2, #8
+ ldr r1, [sp]
+ adds r0, r1, r0
+ mov r1, r8
+ asrs r3, r1, #3
+ lsls r1, r3, #1
+ adds r4, r0, r1
+ movs r0, #0x1f
+ ands r2, r0
+ lsls r2, r2, #6
+ ldr r1, [sp, #4]
+ adds r6, r1, r2
+ adds r2, r0, #0
+ ands r2, r3
+ mov r3, sb
+ ldrh r0, [r3, #0x1e]
+ lsls r1, r0, #0x10
+ lsrs r0, r1, #0x10
+ cmp r0, #0xff
+ bhi _0807D6B0
+ lsrs r3, r1, #0x13
+ b _0807D6B2
+_0807D6B0:
+ movs r3, #0x20
+_0807D6B2:
+ cmp r3, #0
+ ble _0807D6CC
+ movs r5, #0x1f
+_0807D6B8:
+ lsls r0, r2, #1
+ adds r0, r0, r6
+ ldrh r1, [r4]
+ strh r1, [r0]
+ adds r4, #2
+ adds r2, #1
+ ands r2, r5
+ subs r3, #1
+ cmp r3, #0
+ bgt _0807D6B8
+_0807D6CC:
+ add sp, #8
+ pop {r3, r4, r5}
+ mov r8, r3
+ mov sb, r4
+ mov sl, r5
+ pop {r4, r5, r6, r7, pc}
diff --git a/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc b/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc
index de9559d3..2e4df6c5 100644
--- a/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc
+++ b/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc
@@ -1,6 +1,3 @@
- .include "asm/macros.inc"
-
- .include "constants/constants.inc"
.syntax unified
diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c
index 6bdb490d..3b54ebbd 100644
--- a/src/code_0807CC3C.c
+++ b/src/code_0807CC3C.c
@@ -22,7 +22,11 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*);
void sub_0807DB88(ScriptExecutionContext* context, u32 unk1);
void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1);
-NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u32 unk_1, u32 unk_2)){
+NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D46C.inc", void sub_0807D46C(u32 unk_1, u32 unk_2)) {
+}
+END_NONMATCH
+
+NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u32 unk_1, u32 unk_2)) {
}
END_NONMATCH