summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-11-03 22:35:38 -0700
committerMarcus Huderle <huderlem@gmail.com>2017-11-03 22:35:38 -0700
commita5754b95e8a1803c87641e5bc485a3690fbcaef7 (patch)
treecfe2fa3e45384d5bf643a7c5e13a6f8810aa8f34 /src
parent34fad4a4556cddf8a6416ab11cd18927ebdb3228 (diff)
Fix non-matching sub_80EEF34 and start more decomp
Diffstat (limited to 'src')
-rw-r--r--src/field/use_pokeblock.c2
-rw-r--r--src/pokenav_before.c91
2 files changed, 34 insertions, 59 deletions
diff --git a/src/field/use_pokeblock.c b/src/field/use_pokeblock.c
index e946a9cfc..bac231856 100644
--- a/src/field/use_pokeblock.c
+++ b/src/field/use_pokeblock.c
@@ -244,7 +244,7 @@ static void sub_8136294(void)
case 6:
gUnknown_083DFEC4->unk76AA = 0;
gUnknown_083DFEC4->unk87E0 = NULL;
- gUnknown_083DFEC4->unk030C = 0x20;
+ gUnknown_083DFEC4->unk030C.val = 0x20;
gUnknown_02039304->unk50++;
break;
case 7:
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 783d42326..dfac1328b 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -2897,7 +2897,7 @@ bool8 sub_80EEE54() {
sub_80EF58C(2);
break;
case 4:
- gUnknown_083DFEC4->unk030C = 0;
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
REG_BG1HOFS = 0;
REG_BG1VOFS = 0;
REG_BG1CNT = 0x1B0C;
@@ -2909,66 +2909,41 @@ bool8 sub_80EEE54() {
return 1;
}
-#if 0
-// not matches because of register differences
bool8 sub_80EEF34() {
- bool8 ret = 0x1;
- if ((s8)gUnknown_083DFEC4->unk030C == 0x20) {
- return 0;
+ bool8 retVal = TRUE;
+
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 32)
+ {
+ return FALSE;
}
- else {
- gUnknown_083DFEC4->unk030C += 2;
- if (gUnknown_083DFEC4->unk030C > 0x1F) {
- gUnknown_083DFEC4->unk030C = 0x20;
- ret = 0;
- }
- REG_BG1VOFS = gUnknown_083DFEC4->unk030C;
- return ret;
+
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 += 2;
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 > 31)
+ {
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 32;
+ retVal = FALSE;
}
+
+ REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
+ return retVal;
}
-#else
-__attribute__((naked))
-bool8 sub_80EEF34() {
- asm(".text\n"
- ".include \"constants/gba_constants.inc\"");
- asm_unified(
- "push {r4,lr}\n\
- movs r3, 0x1\n\
- ldr r0, _080EEF50 @ =gUnknown_083DFEC4\n\
- ldr r0, [r0]\n\
- movs r1, 0xC3\n\
- lsls r1, 2\n\
- adds r2, r0, r1\n\
- ldrh r1, [r2]\n\
- movs r4, 0\n\
- ldrsh r0, [r2, r4]\n\
- cmp r0, 0x20\n\
- bne _080EEF54\n\
- movs r0, 0\n\
- b _080EEF6E\n\
- .align 2, 0\n\
-_080EEF50: .4byte gUnknown_083DFEC4\n\
-_080EEF54:\n\
- adds r0, r1, 0x2\n\
- strh r0, [r2]\n\
- lsls r0, 16\n\
- asrs r0, 16\n\
- cmp r0, 0x1F\n\
- ble _080EEF66\n\
- movs r0, 0x20\n\
- strh r0, [r2]\n\
- movs r3, 0\n\
-_080EEF66:\n\
- ldr r1, _080EEF74 @ =REG_BG1VOFS\n\
- ldrh r0, [r2]\n\
- strh r0, [r1]\n\
- adds r0, r3, 0\n\
-_080EEF6E:\n\
- pop {r4}\n\
- pop {r1}\n\
- bx r1\n\
- .align 2, 0\n\
-_080EEF74: .4byte REG_BG1VOFS");
+bool8 sub_80EEF78(void)
+{
+ bool8 retVal = TRUE;
+
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 0)
+ {
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 -= 2;
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 <= 0)
+ {
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
+ retVal = FALSE;
+ }
+
+ REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
+ return retVal;
}
-#endif