Start decompiling quest_log.o

This commit is contained in:
PikalaxALT 2018-10-09 21:17:43 -04:00
parent 10fff9c6f2
commit d1381d8b77
5 changed files with 56 additions and 88 deletions

View File

@ -5,93 +5,6 @@
.text
thumb_func_start sub_8110840
sub_8110840: @ 8110840
push {lr}
ldr r1, _08110888 @ =gSaveBlock1Ptr
ldr r1, [r1]
subs r1, r0
ldr r2, _0811088C @ =gUnknown_203AE04
ldr r0, [r2]
cmp r0, 0
beq _08110854
adds r0, r1
str r0, [r2]
_08110854:
ldr r0, _08110890 @ =gUnknown_203ADFA
ldrb r2, [r0]
cmp r2, 0
beq _08110882
ldr r3, _08110894 @ =gUnknown_203AE08
ldr r0, [r3]
cmp r0, 0
beq _08110868
adds r0, r1
str r0, [r3]
_08110868:
cmp r2, 0x2
bne _08110882
ldr r2, _08110898 @ =gUnknown_203AE0C
movs r3, 0x1F
_08110870:
ldr r0, [r2]
cmp r0, 0
beq _0811087A
adds r0, r1
str r0, [r2]
_0811087A:
adds r2, 0x4
subs r3, 0x1
cmp r3, 0
bge _08110870
_08110882:
pop {r0}
bx r0
.align 2, 0
_08110888: .4byte gSaveBlock1Ptr
_0811088C: .4byte gUnknown_203AE04
_08110890: .4byte gUnknown_203ADFA
_08110894: .4byte gUnknown_203AE08
_08110898: .4byte gUnknown_203AE0C
thumb_func_end sub_8110840
thumb_func_start sub_811089C
sub_811089C: @ 811089C
push {lr}
ldr r0, _081108D8 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0x98
lsls r1, 5
adds r0, r1
movs r2, 0xCD
lsls r2, 5
movs r1, 0
bl memset
ldr r0, _081108DC @ =gUnknown_203ADF8
movs r1, 0
strb r1, [r0]
ldr r0, _081108E0 @ =gUnknown_203ADFA
strb r1, [r0]
ldr r0, _081108E4 @ =gUnknown_203AE8C
movs r1, 0
str r1, [r0]
ldr r0, _081108E8 @ =gUnknown_203AE08
str r1, [r0]
ldr r0, _081108EC @ =gUnknown_203AE04
str r1, [r0]
bl sub_8113BD8
bl sub_81138F8
pop {r0}
bx r0
.align 2, 0
_081108D8: .4byte gSaveBlock1Ptr
_081108DC: .4byte gUnknown_203ADF8
_081108E0: .4byte gUnknown_203ADFA
_081108E4: .4byte gUnknown_203AE8C
_081108E8: .4byte gUnknown_203AE08
_081108EC: .4byte gUnknown_203AE04
thumb_func_end sub_811089C
thumb_func_start sub_81108F0
sub_81108F0: @ 81108F0
push {lr}

View File

@ -474,6 +474,11 @@ struct MysteryEventStruct
u8 unk_1;
};
struct QuestLog
{
/*0x0000*/ u8 filler_0000[0x19a0];
};
#define MAP_OBJECTS_COUNT 16
#define BERRY_TREES_COUNT 128
#define FLAGS_COUNT 300
@ -494,7 +499,9 @@ struct SaveBlock1
/*0x63a*/ u8 trainerRematches[100];
/*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
/*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64];
/*0x0EE0*/ u8 fillerEE0[0x2580];
/*0x0EE0*/ u8 fillerEE0[0x420];
/*0x1300*/ struct QuestLog questLog;
/*0x2ca0*/ u8 filler2CA0[0x7c0];
/*0x3460*/ struct MysteryEventStruct unk_3460;
/*0x3464*/ u8 filler_3464[0x1b8];
/*0x361C*/ struct RamScript ramScript;

4
include/quest_log.h Normal file
View File

@ -0,0 +1,4 @@
#ifndef GUARD_QUEST_LOG_H
#define GUARD_QUEST_LOG_H
#endif //GUARD_QUEST_LOG_H

View File

@ -222,6 +222,7 @@ SECTIONS {
asm/item_pc.o(.text);
asm/mailbox_pc.o(.text);
asm/menu.o(.text);
src/quest_log.o(.text);
asm/quest_log.o(.text);
asm/link_rfu_3.o(.text);
asm/pokemon_special_anim.o(.text);

43
src/quest_log.c Normal file
View File

@ -0,0 +1,43 @@
#include "global.h"
#include "quest_log.h"
EWRAM_DATA u8 gUnknown_203ADF8 = 0;
EWRAM_DATA u8 gUnknown_203ADFA = 0;
EWRAM_DATA void * gUnknown_203AE04 = NULL;
EWRAM_DATA void * gUnknown_203AE08 = NULL;
EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL};
EWRAM_DATA u32 gUnknown_203AE8C = 0;
void sub_8113BD8(void);
void sub_81138F8(void);
void sub_8110840(void * a0)
{
size_t r1 = (void *)gSaveBlock1Ptr - a0;
if (gUnknown_203AE04)
gUnknown_203AE04 += r1;
if (gUnknown_203ADFA != 0)
{
if (gUnknown_203AE08)
gUnknown_203AE08 += r1;
if (gUnknown_203ADFA == 2)
{
int r3;
for (r3 = 0; r3 < 0x20; r3++)
if (gUnknown_203AE0C[r3])
gUnknown_203AE0C[r3] += r1;
}
}
}
void sub_811089C(void)
{
gSaveBlock1Ptr->questLog = (struct QuestLog){};
gUnknown_203ADF8 = 0;
gUnknown_203ADFA = 0;
gUnknown_203AE8C = 0;
gUnknown_203AE08 = 0;
gUnknown_203AE04 = 0;
sub_8113BD8();
sub_81138F8();
}