summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--asm/secret_base.s73
-rwxr-xr-xsrc/secret_base_80bb4ac.c21
3 files changed, 21 insertions, 74 deletions
diff --git a/.gitignore b/.gitignore
index 78af8c737..13752b437 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,7 +16,6 @@
*.bat
sound/**/*.bin
src/*.s
-tools/agbcc
ld_script_ruby.txt
ld_script_sapphire.txt
*.map
diff --git a/asm/secret_base.s b/asm/secret_base.s
index eb578f85e..48b70d1c5 100644
--- a/asm/secret_base.s
+++ b/asm/secret_base.s
@@ -6,79 +6,6 @@
.text
- thumb_func_start sub_80BB5E4
-sub_80BB5E4: @ 80BB5E4
- push {r4,lr}
- ldr r0, _080BB5F4 @ =gScriptResult
- movs r1, 0
- strh r1, [r0]
- movs r3, 0
- adds r4, r0, 0
- b _080BB5FE
- .align 2, 0
-_080BB5F4: .4byte gScriptResult
-_080BB5F8:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
-_080BB5FE:
- cmp r3, 0x13
- bhi _080BB626
- ldr r2, _080BB62C @ =gUnknown_020387DC
- ldr r1, _080BB630 @ =gSaveBlock1
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 5
- adds r0, r1
- ldr r1, _080BB634 @ =0x00001a08
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bne _080BB5F8
- movs r0, 0x1
- strh r0, [r4]
- ldr r0, _080BB638 @ =0x00004054
- adds r1, r3, 0
- bl VarSet
-_080BB626:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB62C: .4byte gUnknown_020387DC
-_080BB630: .4byte gSaveBlock1
-_080BB634: .4byte 0x00001a08
-_080BB638: .4byte 0x00004054
- thumb_func_end sub_80BB5E4
-
- thumb_func_start sub_80BB63C
-sub_80BB63C: @ 80BB63C
- push {lr}
- ldr r0, _080BB654 @ =gSaveBlock1
- ldr r1, _080BB658 @ =0x00001a08
- adds r0, r1
- ldrb r1, [r0]
- cmp r1, 0
- beq _080BB660
- ldr r1, _080BB65C @ =gScriptResult
- movs r0, 0x1
- strh r0, [r1]
- b _080BB664
- .align 2, 0
-_080BB654: .4byte gSaveBlock1
-_080BB658: .4byte 0x00001a08
-_080BB65C: .4byte gScriptResult
-_080BB660:
- ldr r0, _080BB668 @ =gScriptResult
- strh r1, [r0]
-_080BB664:
- pop {r0}
- bx r0
- .align 2, 0
-_080BB668: .4byte gScriptResult
- thumb_func_end sub_80BB63C
-
thumb_func_start sub_80BB66C
sub_80BB66C: @ 80BB66C
push {r4,lr}
diff --git a/src/secret_base_80bb4ac.c b/src/secret_base_80bb4ac.c
index 406bef40a..a73a197cc 100755
--- a/src/secret_base_80bb4ac.c
+++ b/src/secret_base_80bb4ac.c
@@ -1,7 +1,9 @@
#include "global.h"
+#include "event_data.h"
extern u8 gUnknown_020387DC;
extern u16 gSpecialVar_0x8004;
+extern u16 gScriptResult;
void sub_80BB4AC(struct SecretBaseRecord *record) { // 080bb4ac
u16 i;
@@ -47,3 +49,22 @@ void ResetSecretBases(void) { // 080bb5b4
void sub_80BB5D0(void) { // 080bb5d0
gUnknown_020387DC = gSpecialVar_0x8004;
}
+
+void sub_80BB5E4(void) { // 80bb5e4
+ u16 idx;
+ gScriptResult = 0;
+ for (idx=0; idx<20; idx++) {
+ if (gUnknown_020387DC != gSaveBlock1.secretBases[idx].sbr_field_0)
+ continue;
+ gScriptResult = 1;
+ VarSet(0x4054, idx);
+ break;
+ }
+}
+
+void sub_80BB63C(void) { // 80bb63c
+ if (gSaveBlock1.secretBases[0].sbr_field_0)
+ gScriptResult = 1;
+ else
+ gScriptResult = 0;
+}