through sub_8110E20
This commit is contained in:
-128
@@ -5,134 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8110D48
|
||||
sub_8110D48: @ 8110D48
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r4, _08110D90 @ =gSaveBlock1Ptr
|
||||
movs r1, 0xCD
|
||||
lsls r1, 3
|
||||
muls r1, r0
|
||||
movs r0, 0x98
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
ldr r0, [r4]
|
||||
adds r5, r0, r1
|
||||
movs r1, 0xEE
|
||||
lsls r1, 4
|
||||
adds r0, r1
|
||||
movs r2, 0xA4
|
||||
lsls r2, 1
|
||||
adds r1, r5, r2
|
||||
movs r2, 0x90
|
||||
bl CpuSet
|
||||
ldr r0, [r4]
|
||||
movs r1, 0x80
|
||||
lsls r1, 5
|
||||
adds r0, r1
|
||||
movs r2, 0x9A
|
||||
lsls r2, 2
|
||||
adds r1, r5, r2
|
||||
movs r2, 0x80
|
||||
lsls r2, 1
|
||||
bl CpuSet
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08110D90: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sub_8110D48
|
||||
|
||||
thumb_func_start sub_8110D94
|
||||
sub_8110D94: @ 8110D94
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0xC
|
||||
movs r4, 0
|
||||
ldr r0, _08110E14 @ =gSaveBlock1Ptr
|
||||
mov r10, r0
|
||||
ldr r1, _08110E18 @ =0x0000063a
|
||||
mov r9, r1
|
||||
movs r2, 0x1
|
||||
mov r8, r2
|
||||
_08110DAE:
|
||||
lsls r1, r4, 1
|
||||
mov r7, sp
|
||||
adds r2, r7, r1
|
||||
movs r0, 0
|
||||
strh r0, [r2]
|
||||
movs r3, 0
|
||||
adds r6, r1, 0
|
||||
adds r0, r4, 0x1
|
||||
str r0, [sp, 0x8]
|
||||
mov r1, r10
|
||||
ldr r0, [r1]
|
||||
mov r7, r9
|
||||
adds r5, r0, r7
|
||||
lsls r1, r4, 4
|
||||
_08110DCA:
|
||||
adds r0, r1, r3
|
||||
adds r0, r5, r0
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08110DDE
|
||||
mov r0, r8
|
||||
lsls r0, r3
|
||||
ldrh r7, [r2]
|
||||
adds r0, r7
|
||||
strh r0, [r2]
|
||||
_08110DDE:
|
||||
adds r0, r3, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r3, r0, 16
|
||||
cmp r3, 0xF
|
||||
bls _08110DCA
|
||||
ldr r1, _08110E1C @ =0x000040aa
|
||||
adds r0, r4, r1
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
mov r2, sp
|
||||
adds r1, r2, r6
|
||||
ldrh r1, [r1]
|
||||
bl VarSet
|
||||
ldr r7, [sp, 0x8]
|
||||
lsls r0, r7, 16
|
||||
lsrs r4, r0, 16
|
||||
cmp r4, 0x3
|
||||
bls _08110DAE
|
||||
add sp, 0xC
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08110E14: .4byte gSaveBlock1Ptr
|
||||
_08110E18: .4byte 0x0000063a
|
||||
_08110E1C: .4byte 0x000040aa
|
||||
thumb_func_end sub_8110D94
|
||||
|
||||
thumb_func_start sub_8110E20
|
||||
sub_8110E20: @ 8110E20
|
||||
push {lr}
|
||||
ldr r0, _08110E34 @ =0x000040ae
|
||||
ldr r1, _08110E38 @ =gSaveBlock1Ptr
|
||||
ldr r1, [r1]
|
||||
ldrh r1, [r1, 0x32]
|
||||
bl VarSet
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08110E34: .4byte 0x000040ae
|
||||
_08110E38: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sub_8110E20
|
||||
|
||||
thumb_func_start sub_8110E3C
|
||||
sub_8110E3C: @ 8110E3C
|
||||
push {lr}
|
||||
|
||||
+19
-4
@@ -492,7 +492,9 @@ struct QuestLog
|
||||
/*0x0003*/ s8 unk_003;
|
||||
/*0x0004*/ s16 unk_004;
|
||||
/*0x0006*/ s16 unk_006;
|
||||
/*0x0008*/ u8 filler_008[0x460];
|
||||
/*0x0008*/ u8 filler_008[0x140];
|
||||
/*0x0148*/ u8 unk_148[0x120];
|
||||
/*0x02c8*/ u8 unk_268[0x200];
|
||||
/*0x0468*/ struct QuestLogNPCData npcData[64];
|
||||
/*0x0568*/ u8 filler_568[0x100];
|
||||
/*0x0668*/ u8 end[0];
|
||||
@@ -500,7 +502,7 @@ struct QuestLog
|
||||
|
||||
#define MAP_OBJECTS_COUNT 16
|
||||
#define BERRY_TREES_COUNT 128
|
||||
#define FLAGS_COUNT 300
|
||||
#define FLAGS_COUNT 288 // 300
|
||||
#define VARS_COUNT 256
|
||||
#define MAIL_COUNT 16
|
||||
|
||||
@@ -512,13 +514,26 @@ struct SaveBlock1
|
||||
/*0x14*/ struct WarpData warp2;
|
||||
/*0x1C*/ struct WarpData lastHealLocation;
|
||||
/*0x24*/ struct WarpData warp4;
|
||||
/*0x002C*/ u8 filler2C[0x60C];
|
||||
/*0x2C*/ u16 savedMusic;
|
||||
/*0x2E*/ u8 weather;
|
||||
/*0x2F*/ u8 filler_2F;
|
||||
/*0x30*/ u8 flashLevel;
|
||||
/*0x32*/ u16 mapDataId;
|
||||
/*0x34*/ u16 mapView[0x100];
|
||||
/*0x234*/ u8 playerPartyCount;
|
||||
/*0x238*/ struct Pokemon playerParty[PARTY_SIZE];
|
||||
/*0x490*/ u32 money;
|
||||
/*0x494*/ u16 coins;
|
||||
/*0x496*/ u16 registeredItem; // registered for use with SELECT button
|
||||
/*0x498*/ u8 filler_0498[0x1a0];
|
||||
/*0x638*/ u8 trainerRematchStepCounter;
|
||||
u8 filler_639;
|
||||
/*0x63a*/ u8 trainerRematches[100];
|
||||
/*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
|
||||
/*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64];
|
||||
/*0x0EE0*/ u8 fillerEE0[0x420];
|
||||
/*0x0EE0*/ u8 flags[FLAGS_COUNT];
|
||||
/*0x1000*/ u16 vars[VARS_COUNT];
|
||||
/*0x1200*/ u8 filler1200[0x100];
|
||||
/*0x1300*/ struct QuestLog questLog[4];
|
||||
/*0x2ca0*/ u8 filler2CA0[0x7c0];
|
||||
/*0x3460*/ struct MysteryEventStruct unk_3460;
|
||||
|
||||
@@ -392,3 +392,35 @@ void sub_8110BE8(u8 a0)
|
||||
"\t.pool");
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
|
||||
void sub_8110D48(u8 a0)
|
||||
{
|
||||
struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[a0];
|
||||
|
||||
CpuCopy16(gSaveBlock1Ptr->flags, questLog->unk_148, 0x120);
|
||||
CpuCopy16(gSaveBlock1Ptr->vars, questLog->unk_268, 0x200);
|
||||
}
|
||||
|
||||
void sub_8110D94(void)
|
||||
{
|
||||
u16 i, j;
|
||||
u16 sp0[4];
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
sp0[i] = 0;
|
||||
for (j = 0; j < 16; j++)
|
||||
{
|
||||
if (gSaveBlock1Ptr->trainerRematches[16 * i + j])
|
||||
{
|
||||
sp0[i] += (1 << j);
|
||||
}
|
||||
}
|
||||
VarSet(VAR_0x40AA + i, sp0[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8110E20(void)
|
||||
{
|
||||
VarSet(VAR_0x40AE, gSaveBlock1Ptr->mapDataId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user