summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-06-29 08:49:55 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-06-29 20:38:45 -0400
commit4e02c236d8594ab81ae46c54d6f1ccc8e7929bea (patch)
tree473aa93b970d0f601f96a4f1623ed0b3e69bed74
parent062f0b5bd9fe3e804ca9e2b4f6b2bae89f94ab61 (diff)
Nonmatching sub_8136D00
-rwxr-xr-xasm/use_pokeblock.s108
-rwxr-xr-xsrc/use_pokeblock.c79
2 files changed, 131 insertions, 56 deletions
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index 64157f558..af050f3d5 100755
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -5,60 +5,60 @@
.syntax unified
.text
-
- thumb_func_start sub_8136D00
-sub_8136D00: @ 8136D00
- push {r4,r5,lr}
- ldr r4, _08136D30 @ =gUnknown_02039304
- adds r3, r4, 0
- movs r5, 0x5
-_08136D08:
- ldr r0, [r3]
- adds r0, 0x53
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x53
- ldrb r0, [r1]
- cmp r0, 0x4
- bhi _08136D34
- adds r0, r2, 0
- adds r0, 0x61
- ldrb r1, [r1]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08136D3A
- b _08136D08
- .align 2, 0
-_08136D30: .4byte gUnknown_02039304
-_08136D34:
- strb r5, [r1]
- movs r0, 0
- b _08136D5A
-_08136D3A:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x10
- adds r1, r2, 0
- adds r1, 0x53
- ldrb r1, [r1]
- adds r2, 0x61
- adds r2, r1
- ldrb r2, [r2]
- bl sub_8136DC0
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8136DA0
- movs r0, 0x1
-_08136D5A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8136D00
-
+@
+@ thumb_func_start sub_8136D00
+@ sub_8136D00: @ 8136D00
+@ push {r4,r5,lr}
+@ ldr r4, _08136D30 @ =gUnknown_02039304
+@ adds r3, r4, 0
+@ movs r5, 0x5
+@ _08136D08:
+@ ldr r0, [r3]
+@ adds r0, 0x53
+@ ldrb r1, [r0]
+@ adds r1, 0x1
+@ strb r1, [r0]
+@ ldr r2, [r3]
+@ adds r1, r2, 0
+@ adds r1, 0x53
+@ ldrb r0, [r1]
+@ cmp r0, 0x4
+@ bhi _08136D34
+@ adds r0, r2, 0
+@ adds r0, 0x61
+@ ldrb r1, [r1]
+@ adds r0, r1
+@ ldrb r0, [r0]
+@ cmp r0, 0
+@ bne _08136D3A
+@ b _08136D08
+@ .align 2, 0
+@ _08136D30: .4byte gUnknown_02039304
+@ _08136D34:
+@ strb r5, [r1]
+@ movs r0, 0
+@ b _08136D5A
+@ _08136D3A:
+@ ldr r2, [r4]
+@ adds r0, r2, 0
+@ adds r0, 0x10
+@ adds r1, r2, 0
+@ adds r1, 0x53
+@ ldrb r1, [r1]
+@ adds r2, 0x61
+@ adds r2, r1
+@ ldrb r2, [r2]
+@ bl sub_8136DC0
+@ ldr r0, [r4]
+@ adds r0, 0x10
+@ bl sub_8136DA0
+@ movs r0, 0x1
+@ _08136D5A:
+@ pop {r4,r5}
+@ pop {r1}
+@ bx r1
+@ thumb_func_end sub_8136D00
+@
thumb_func_start sub_8136D60
sub_8136D60: @ 8136D60
push {lr}
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index 0c2ba8642..7590b19ff 100755
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -21,11 +21,11 @@
asm(".text\n"
".include \"constants/gba_constants.inc\"");
+extern struct UnkPokenavStruct_Sub1 *gUnknown_02039304;
extern MainCallback gUnknown_02039308;
extern struct Pokeblock *gUnknown_0203930C;
-u8 gUnknown_02039310;
+extern u8 gUnknown_02039310;
-extern struct UnkPokenavStruct_Sub1 *gUnknown_02039304;
extern u16 gKeyRepeatStartDelay;
extern u16 gScriptItemId; // remove after merge of #349 Pokeblock
@@ -563,3 +563,78 @@ void sub_8136C6C(void)
}
sub_8136DA0(gUnknown_02039304->stringBuffer);
}
+
+#ifdef NONMATCHING
+bool8 sub_8136D00(void)
+{
+ while (1)
+ {
+ if (++gUnknown_02039304->unk53 >= 5)
+ {
+ break;
+ }
+ if (gUnknown_02039304->unk61[gUnknown_02039304->unk53] != 0)
+ {
+ sub_8136DC0(gUnknown_02039304->stringBuffer, gUnknown_02039304->unk53, gUnknown_02039304->unk61[gUnknown_02039304->unk53]);
+ sub_8136DA0(gUnknown_02039304->stringBuffer);
+ return TRUE;
+ }
+ }
+ gUnknown_02039304->unk53 = 5;
+ return FALSE;
+}
+#else
+__attribute__((naked))
+bool8 sub_8136D00(void)
+{
+ asm_unified("\tpush {r4,r5,lr}\n"
+ "\tldr r4, _08136D30 @ =gUnknown_02039304\n"
+ "\tadds r3, r4, 0\n"
+ "\tmovs r5, 0x5\n"
+ "_08136D08:\n"
+ "\tldr r0, [r3]\n"
+ "\tadds r0, 0x53\n"
+ "\tldrb r1, [r0]\n"
+ "\tadds r1, 0x1\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r2, [r3]\n"
+ "\tadds r1, r2, 0\n"
+ "\tadds r1, 0x53\n"
+ "\tldrb r0, [r1]\n"
+ "\tcmp r0, 0x4\n"
+ "\tbhi _08136D34\n"
+ "\tadds r0, r2, 0\n"
+ "\tadds r0, 0x61\n"
+ "\tldrb r1, [r1]\n"
+ "\tadds r0, r1\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _08136D3A\n"
+ "\tb _08136D08\n"
+ "\t.align 2, 0\n"
+ "_08136D30: .4byte gUnknown_02039304\n"
+ "_08136D34:\n"
+ "\tstrb r5, [r1]\n"
+ "\tmovs r0, 0\n"
+ "\tb _08136D5A\n"
+ "_08136D3A:\n"
+ "\tldr r2, [r4]\n"
+ "\tadds r0, r2, 0\n"
+ "\tadds r0, 0x10\n"
+ "\tadds r1, r2, 0\n"
+ "\tadds r1, 0x53\n"
+ "\tldrb r1, [r1]\n"
+ "\tadds r2, 0x61\n"
+ "\tadds r2, r1\n"
+ "\tldrb r2, [r2]\n"
+ "\tbl sub_8136DC0\n"
+ "\tldr r0, [r4]\n"
+ "\tadds r0, 0x10\n"
+ "\tbl sub_8136DA0\n"
+ "\tmovs r0, 0x1\n"
+ "_08136D5A:\n"
+ "\tpop {r4,r5}\n"
+ "\tpop {r1}\n"
+ "\tbx r1");
+}
+#endif