through sub_8110E20
This commit is contained in:
-128
@@ -5,134 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.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
|
thumb_func_start sub_8110E3C
|
||||||
sub_8110E3C: @ 8110E3C
|
sub_8110E3C: @ 8110E3C
|
||||||
push {lr}
|
push {lr}
|
||||||
|
|||||||
+19
-4
@@ -492,7 +492,9 @@ struct QuestLog
|
|||||||
/*0x0003*/ s8 unk_003;
|
/*0x0003*/ s8 unk_003;
|
||||||
/*0x0004*/ s16 unk_004;
|
/*0x0004*/ s16 unk_004;
|
||||||
/*0x0006*/ s16 unk_006;
|
/*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];
|
/*0x0468*/ struct QuestLogNPCData npcData[64];
|
||||||
/*0x0568*/ u8 filler_568[0x100];
|
/*0x0568*/ u8 filler_568[0x100];
|
||||||
/*0x0668*/ u8 end[0];
|
/*0x0668*/ u8 end[0];
|
||||||
@@ -500,7 +502,7 @@ struct QuestLog
|
|||||||
|
|
||||||
#define MAP_OBJECTS_COUNT 16
|
#define MAP_OBJECTS_COUNT 16
|
||||||
#define BERRY_TREES_COUNT 128
|
#define BERRY_TREES_COUNT 128
|
||||||
#define FLAGS_COUNT 300
|
#define FLAGS_COUNT 288 // 300
|
||||||
#define VARS_COUNT 256
|
#define VARS_COUNT 256
|
||||||
#define MAIL_COUNT 16
|
#define MAIL_COUNT 16
|
||||||
|
|
||||||
@@ -512,13 +514,26 @@ struct SaveBlock1
|
|||||||
/*0x14*/ struct WarpData warp2;
|
/*0x14*/ struct WarpData warp2;
|
||||||
/*0x1C*/ struct WarpData lastHealLocation;
|
/*0x1C*/ struct WarpData lastHealLocation;
|
||||||
/*0x24*/ struct WarpData warp4;
|
/*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;
|
/*0x638*/ u8 trainerRematchStepCounter;
|
||||||
u8 filler_639;
|
u8 filler_639;
|
||||||
/*0x63a*/ u8 trainerRematches[100];
|
/*0x63a*/ u8 trainerRematches[100];
|
||||||
/*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
|
/*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
|
||||||
/*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64];
|
/*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];
|
/*0x1300*/ struct QuestLog questLog[4];
|
||||||
/*0x2ca0*/ u8 filler2CA0[0x7c0];
|
/*0x2ca0*/ u8 filler2CA0[0x7c0];
|
||||||
/*0x3460*/ struct MysteryEventStruct unk_3460;
|
/*0x3460*/ struct MysteryEventStruct unk_3460;
|
||||||
|
|||||||
@@ -392,3 +392,35 @@ void sub_8110BE8(u8 a0)
|
|||||||
"\t.pool");
|
"\t.pool");
|
||||||
}
|
}
|
||||||
#endif // NONMATCHING
|
#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