summaryrefslogtreecommitdiff
path: root/src/subtask2.c
diff options
context:
space:
mode:
authorTal Hayon <talhayon1@gmail.com>2022-04-03 09:25:13 +0300
committerTal Hayon <talhayon1@gmail.com>2022-04-03 09:25:13 +0300
commit4cec2c4d5528e41b541910345cb63aa8fd625e49 (patch)
tree7315f9da57f9f2be55e200385ad9cf4fbbac64af /src/subtask2.c
parent2d54d7fa216a362021a3412cdab830228d1459d4 (diff)
Match sub_080A6D74
Diffstat (limited to 'src/subtask2.c')
-rw-r--r--src/subtask2.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/subtask2.c b/src/subtask2.c
index 00dd9060..6435abd4 100644
--- a/src/subtask2.c
+++ b/src/subtask2.c
@@ -509,7 +509,25 @@ void sub_080A6CA8(void) {
ASM_FUNC("asm/non_matching/subtask2/sub_080A6CD8.inc", void sub_080A6CD8())
-ASM_FUNC("asm/non_matching/subtask2/sub_080A6D74.inc", u32 sub_080A6D74(u32 a))
+u32 sub_080A6D74(u32 param_1) {
+ u32 uVar1;
+ u32 uVar2;
+ u32 uVar3;
+
+ uVar3 = gSave.windcrests >> 0x18;
+ uVar2 = gMenu.field_0x3;
+ if (param_1 == 0) {
+ uVar2 = 0;
+ if ((uVar3 & 1) == 0) {
+ while (++uVar2 < 8 && ((1 << uVar2) & uVar3) == 0) {}
+ }
+ } else if (uVar3 != 0) {
+ do {
+ uVar2 = (uVar2 + param_1 + 8) & 7;
+ } while ((1 << uVar2 & uVar3) == 0);
+ }
+ return uVar2 & 7;
+}
void sub_080A6DD0(void) {
u32 tmp;