summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/record_mixing.s72
-rw-r--r--include/mauville_old_man.h1
-rw-r--r--include/secret_base.h1
-rw-r--r--include/tv.h1
-rw-r--r--src/record_mixing.c24
5 files changed, 27 insertions, 72 deletions
diff --git a/asm/record_mixing.s b/asm/record_mixing.s
index 94f3756d5..e7827f8a4 100644
--- a/asm/record_mixing.s
+++ b/asm/record_mixing.s
@@ -5,78 +5,6 @@
.text
- thumb_func_start sub_80E6D54
-sub_80E6D54: @ 80E6D54
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_03001134
- ldr r1, [r0]
- movs r4, 0xC8
- lsls r4, 4
- adds r0, r5, 0
- adds r2, r4, 0
- bl memcpy
- adds r0, r5, 0
- bl sub_80EB18C
- adds r4, r5, r4
- ldr r0, =gUnknown_03001138
- ldr r1, [r0]
- movs r2, 0xE1
- lsls r2, 2
- adds r0, r4, 0
- bl memcpy
- adds r0, r4, 0
- bl sub_80F1208
- ldr r1, =0x00001004
- adds r0, r5, r1
- ldr r1, =gUnknown_0300113C
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r2, =0x00001044
- adds r4, r5, r2
- ldr r0, =gUnknown_03001140
- ldr r1, [r0]
- adds r0, r4, 0
- movs r2, 0x40
- bl memcpy
- adds r0, r4, 0
- bl sub_8120B70
- ldr r1, =0x00001084
- adds r0, r5, r1
- ldr r1, =gUnknown_03001144
- ldr r1, [r1]
- movs r2, 0x28
- bl memcpy
- ldr r2, =0x000010ac
- adds r4, r5, r2
- adds r0, r4, 0
- bl sub_80E89F8
- adds r0, r4, 0
- bl sub_80E8A54
- ldr r0, =gUnknown_0300114C
- ldr r0, [r0]
- ldr r1, =0x00001124
- adds r4, r5, r1
- adds r1, r4, 0
- bl sub_81659DC
- adds r0, r4, 0
- bl TaskDummy4
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E6DEE
- bl sub_81539D4
- ldr r2, =0x000011c8
- adds r1, r5, r2
- strh r0, [r1]
-_080E6DEE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6D54
-
thumb_func_start sub_80E6E24
sub_80E6E24: @ 80E6E24
push {r4,r5,lr}
diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h
index aefc76083..25c5d8cd2 100644
--- a/include/mauville_old_man.h
+++ b/include/mauville_old_man.h
@@ -4,5 +4,6 @@
void SetMauvilleOldMan(void);
u8 sub_81201C8(void);
+void sub_8120B70(OldMan *dest);
#endif // GUARD_MAUVILLE_OLD_MAN_H
diff --git a/include/secret_base.h b/include/secret_base.h
index 14defff26..d3ef57653 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -8,5 +8,6 @@
// Exported ROM declarations
void sub_80E9578(void);
void sub_80E980C(void);
+void sub_80EB18C(struct SecretBaseRecord *dest);
#endif //GUARD_SECRET_BASE_H
diff --git a/include/tv.h b/include/tv.h
index 43f36d69f..ea5bb726f 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -13,5 +13,6 @@ void sub_80EE184(void);
void sub_80EEA70(void);
void sub_80F14F8(TVShow *shows);
size_t sub_80EF370(int value);
+void sub_80F1208(TVShow *dest);
#endif //GUARD_TV_H
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 06cf1ab2e..5b1f1c0c8 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -7,6 +7,8 @@
#include "tv.h"
#include "battle_tower.h"
#include "mystery_event_script.h"
+#include "secret_base.h"
+#include "mauville_old_man.h"
#include "record_mixing.h"
// Static type declarations
@@ -50,6 +52,8 @@ EWRAM_DATA struct RecordMixingData *gUnknown_0203A018 = NULL;
void sub_80E715C(u8 taskId);
void sub_80E89F8(void *dest);
+void sub_80E8A54(void *src);
+void TaskDummy4(void *src);
// .rodata
@@ -89,3 +93,23 @@ void sub_80E6CA0(struct RecordMixingData *dest)
dest->unk_11c8 = sub_81539D4();
}
}
+
+void sub_80E6D54(struct RecordMixingData *dest)
+{
+ memcpy(dest->secretBases, gUnknown_03001134, sizeof(struct SecretBaseRecord) * 20);
+ sub_80EB18C(dest->secretBases);
+ memcpy(dest->tvShows, gUnknown_03001138, sizeof(TVShow) * 25);
+ sub_80F1208(dest->tvShows);
+ memcpy(dest->pokeNews, gUnknown_0300113C, sizeof(PokeNews) * 16);
+ memcpy(&dest->oldMan, gUnknown_03001140, sizeof(OldMan));
+ sub_8120B70(&dest->oldMan);
+ memcpy(dest->easyChatPair, gUnknown_03001144, sizeof(struct EasyChatPair) * 5);
+ sub_80E89F8(dest->unk_10ac);
+ sub_80E8A54(dest->unk_10ac);
+ sub_81659DC(gUnknown_0300114C, dest->unk_1124);
+ TaskDummy4(dest->unk_1124);
+ if (GetMultiplayerId() == 0)
+ {
+ dest->unk_11c8 = sub_81539D4();
+ }
+}