through sub_81113E4
This commit is contained in:
-206
@@ -5,212 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8111274
|
||||
sub_8111274: @ 8111274
|
||||
push {r4,lr}
|
||||
sub sp, 0x8
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
lsls r1, 24
|
||||
cmp r1, 0
|
||||
bne _081112D4
|
||||
ldr r3, _081112C8 @ =gSaveBlock1Ptr
|
||||
ldr r2, [r3]
|
||||
movs r0, 0xCD
|
||||
lsls r0, 3
|
||||
adds r1, r4, 0
|
||||
muls r1, r0
|
||||
adds r0, r2, r1
|
||||
ldr r4, _081112CC @ =0x00001301
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r2, 0x4]
|
||||
ldr r2, [r3]
|
||||
adds r0, r2, r1
|
||||
adds r4, 0x1
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r2, 0x5]
|
||||
ldr r2, [r3]
|
||||
adds r0, r2, r1
|
||||
adds r4, 0x1
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r2, 0x6]
|
||||
ldr r2, [r3]
|
||||
adds r1, r2, r1
|
||||
ldr r3, _081112D0 @ =0x00001304
|
||||
adds r0, r1, r3
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r2]
|
||||
adds r4, 0x3
|
||||
adds r1, r4
|
||||
ldrh r0, [r1]
|
||||
strh r0, [r2, 0x2]
|
||||
b _08111336
|
||||
.align 2, 0
|
||||
_081112C8: .4byte gSaveBlock1Ptr
|
||||
_081112CC: .4byte 0x00001301
|
||||
_081112D0: .4byte 0x00001304
|
||||
_081112D4:
|
||||
ldr r0, _08111340 @ =gSaveBlock1Ptr
|
||||
ldr r3, [r0]
|
||||
movs r0, 0xCD
|
||||
lsls r0, 3
|
||||
muls r0, r4
|
||||
adds r3, r0
|
||||
ldr r1, _08111344 @ =0x00001301
|
||||
adds r0, r3, r1
|
||||
ldrb r2, [r0]
|
||||
ldr r0, _08111348 @ =0xffffff00
|
||||
ldr r1, [sp]
|
||||
ands r1, r0
|
||||
orrs r1, r2
|
||||
str r1, [sp]
|
||||
ldr r2, _0811134C @ =0x00001302
|
||||
adds r0, r3, r2
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 8
|
||||
ldr r2, _08111350 @ =0xffff00ff
|
||||
ands r2, r1
|
||||
orrs r2, r0
|
||||
str r2, [sp]
|
||||
ldr r4, _08111354 @ =0x00001303
|
||||
adds r0, r3, r4
|
||||
ldrb r1, [r0]
|
||||
lsls r1, 16
|
||||
ldr r0, _08111358 @ =0xff00ffff
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
str r0, [sp]
|
||||
ldr r1, _0811135C @ =0x00001304
|
||||
adds r0, r3, r1
|
||||
ldrh r1, [r0]
|
||||
ldr r0, _08111360 @ =0xffff0000
|
||||
ldr r2, [sp, 0x4]
|
||||
ands r2, r0
|
||||
orrs r2, r1
|
||||
str r2, [sp, 0x4]
|
||||
adds r4, 0x3
|
||||
adds r3, r4
|
||||
ldrh r1, [r3]
|
||||
lsls r1, 16
|
||||
ldr r0, _08111364 @ =0x0000ffff
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
str r0, [sp, 0x4]
|
||||
mov r0, sp
|
||||
bl sub_8055D5C
|
||||
_08111336:
|
||||
add sp, 0x8
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08111340: .4byte gSaveBlock1Ptr
|
||||
_08111344: .4byte 0x00001301
|
||||
_08111348: .4byte 0xffffff00
|
||||
_0811134C: .4byte 0x00001302
|
||||
_08111350: .4byte 0xffff00ff
|
||||
_08111354: .4byte 0x00001303
|
||||
_08111358: .4byte 0xff00ffff
|
||||
_0811135C: .4byte 0x00001304
|
||||
_08111360: .4byte 0xffff0000
|
||||
_08111364: .4byte 0x0000ffff
|
||||
thumb_func_end sub_8111274
|
||||
|
||||
thumb_func_start sub_8111368
|
||||
sub_8111368: @ 8111368
|
||||
push {lr}
|
||||
ldr r1, _081113A0 @ =gUnknown_203ADFA
|
||||
movs r0, 0x2
|
||||
strb r0, [r1]
|
||||
bl sub_806E6FC
|
||||
bl sub_809A2DC
|
||||
bl sub_809A2A4
|
||||
bl sub_8110AC8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _081113B4
|
||||
ldr r0, _081113A4 @ =gUnknown_203ADF8
|
||||
ldrb r0, [r0]
|
||||
movs r1, 0
|
||||
bl sub_8111274
|
||||
ldr r1, _081113A8 @ =gUnknown_3005024
|
||||
ldr r0, _081113AC @ =sub_8111038
|
||||
str r0, [r1]
|
||||
ldr r0, _081113B0 @ =sub_80572A8
|
||||
bl SetMainCallback2
|
||||
b _081113CE
|
||||
.align 2, 0
|
||||
_081113A0: .4byte gUnknown_203ADFA
|
||||
_081113A4: .4byte gUnknown_203ADF8
|
||||
_081113A8: .4byte gUnknown_3005024
|
||||
_081113AC: .4byte sub_8111038
|
||||
_081113B0: .4byte sub_80572A8
|
||||
_081113B4:
|
||||
ldr r0, _081113D4 @ =gUnknown_203ADF8
|
||||
ldrb r0, [r0]
|
||||
movs r1, 0x1
|
||||
bl sub_8111274
|
||||
bl warp_in
|
||||
ldr r1, _081113D8 @ =gUnknown_3005024
|
||||
ldr r0, _081113DC @ =sub_8111000
|
||||
str r0, [r1]
|
||||
ldr r0, _081113E0 @ =sub_805726C
|
||||
bl SetMainCallback2
|
||||
_081113CE:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081113D4: .4byte gUnknown_203ADF8
|
||||
_081113D8: .4byte gUnknown_3005024
|
||||
_081113DC: .4byte sub_8111000
|
||||
_081113E0: .4byte sub_805726C
|
||||
thumb_func_end sub_8111368
|
||||
|
||||
thumb_func_start sub_81113E4
|
||||
sub_81113E4: @ 81113E4
|
||||
push {r4,r5,lr}
|
||||
ldr r4, _08111430 @ =gSaveBlock1Ptr
|
||||
ldr r0, _08111434 @ =gUnknown_203ADF8
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0xCD
|
||||
lsls r0, 3
|
||||
muls r0, r1
|
||||
movs r1, 0x98
|
||||
lsls r1, 5
|
||||
adds r0, r1
|
||||
ldr r1, [r4]
|
||||
adds r5, r1, r0
|
||||
movs r2, 0xA4
|
||||
lsls r2, 1
|
||||
adds r0, r5, r2
|
||||
movs r2, 0xEE
|
||||
lsls r2, 4
|
||||
adds r1, r2
|
||||
movs r2, 0x90
|
||||
bl CpuSet
|
||||
movs r1, 0x9A
|
||||
lsls r1, 2
|
||||
adds r0, r5, r1
|
||||
ldr r1, [r4]
|
||||
movs r2, 0x80
|
||||
lsls r2, 5
|
||||
adds r1, r2
|
||||
movs r2, 0x80
|
||||
lsls r2, 1
|
||||
bl CpuSet
|
||||
bl sub_8111688
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08111430: .4byte gSaveBlock1Ptr
|
||||
_08111434: .4byte gUnknown_203ADF8
|
||||
thumb_func_end sub_81113E4
|
||||
|
||||
thumb_func_start sub_8111438
|
||||
sub_8111438: @ 8111438
|
||||
push {r4-r7,lr}
|
||||
|
||||
@@ -31,6 +31,7 @@ u8 FlagClear(u16 id);
|
||||
bool8 FlagGet(u16 id);
|
||||
u16 * sub_806E454(u16 id);
|
||||
bool32 sub_806E2BC(void);
|
||||
void sub_806E6FC(void);
|
||||
|
||||
extern u16 gSpecialVar_0x8000;
|
||||
extern u16 gSpecialVar_0x8001;
|
||||
|
||||
@@ -60,5 +60,7 @@ u8 ItemId_GetBattleUsage(u16 itemId);
|
||||
ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
|
||||
u8 ItemId_GetSecondaryId(u16 itemId);
|
||||
u16 itemid_get_market_price(u16 itemId);
|
||||
void sub_809A2DC(void);
|
||||
void sub_809A2A4(void);
|
||||
|
||||
#endif // ITEM_H
|
||||
|
||||
@@ -72,7 +72,12 @@ void IncrementGameStat(u8);
|
||||
u32 GetGameStat(u8);
|
||||
|
||||
void sub_8056938(void);
|
||||
void sub_8055D5C(struct WarpData *);
|
||||
void sub_80572A8(void);
|
||||
void sub_805726C(void);
|
||||
|
||||
extern u8 gUnknown_2031DD8;
|
||||
|
||||
extern bool8 (* gUnknown_3005024)(void);
|
||||
|
||||
#endif //GUARD_ROM4_H
|
||||
|
||||
+57
-2
@@ -10,6 +10,7 @@
|
||||
#include "script.h"
|
||||
#include "overworld.h"
|
||||
#include "field_fadetransition.h"
|
||||
#include "item.h"
|
||||
#include "wild_encounter.h"
|
||||
#include "help_system.h"
|
||||
#include "unk_8159F40.h"
|
||||
@@ -57,6 +58,7 @@ void sub_8110F90(u8);
|
||||
void sub_8111150(u8);
|
||||
void sub_8111368(void);
|
||||
void sub_81115E8(void);
|
||||
void sub_8111688(void);
|
||||
void sub_811175C(u8, struct UnkStruct_203AE98 *);
|
||||
void sub_81118F4(s8);
|
||||
void sub_81138F8(void);
|
||||
@@ -434,8 +436,8 @@ 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);
|
||||
CpuCopy16(gSaveBlock1Ptr->flags, questLog->unk_148, FLAGS_COUNT * sizeof(u8));
|
||||
CpuCopy16(gSaveBlock1Ptr->vars, questLog->unk_268, VARS_COUNT * sizeof(u16));
|
||||
}
|
||||
|
||||
void sub_8110D94(void)
|
||||
@@ -621,3 +623,56 @@ void sub_8111150(u8 a0)
|
||||
|
||||
sub_815A1F8(questLog, gSaveBlock1Ptr->mapObjectTemplates);
|
||||
}
|
||||
|
||||
void sub_8111274(u8 a0, u8 a1)
|
||||
{
|
||||
struct WarpData sp0;
|
||||
|
||||
if (!a1)
|
||||
{
|
||||
gSaveBlock1Ptr->location.mapGroup = gSaveBlock1Ptr->questLog[a0].unk_001;
|
||||
gSaveBlock1Ptr->location.mapNum = gSaveBlock1Ptr->questLog[a0].unk_002;
|
||||
gSaveBlock1Ptr->location.warpId = gSaveBlock1Ptr->questLog[a0].unk_003;
|
||||
gSaveBlock1Ptr->pos.x = gSaveBlock1Ptr->questLog[a0].unk_004;
|
||||
gSaveBlock1Ptr->pos.y = gSaveBlock1Ptr->questLog[a0].unk_006;
|
||||
}
|
||||
else
|
||||
{
|
||||
sp0.mapGroup = gSaveBlock1Ptr->questLog[a0].unk_001;
|
||||
sp0.mapNum = gSaveBlock1Ptr->questLog[a0].unk_002;
|
||||
sp0.warpId = gSaveBlock1Ptr->questLog[a0].unk_003;
|
||||
sp0.x = gSaveBlock1Ptr->questLog[a0].unk_004;
|
||||
sp0.y = gSaveBlock1Ptr->questLog[a0].unk_006;
|
||||
sub_8055D5C(&sp0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8111368(void)
|
||||
{
|
||||
gUnknown_203ADFA = 2;
|
||||
sub_806E6FC();
|
||||
sub_809A2DC();
|
||||
sub_809A2A4();
|
||||
if (sub_8110AC8() == 1)
|
||||
{
|
||||
sub_8111274(gUnknown_203ADF8, 0);
|
||||
gUnknown_3005024 = sub_8111038;
|
||||
SetMainCallback2(sub_80572A8);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_8111274(gUnknown_203ADF8, 1);
|
||||
warp_in();
|
||||
gUnknown_3005024 = sub_8111000;
|
||||
SetMainCallback2(sub_805726C);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_81113E4(void)
|
||||
{
|
||||
struct QuestLog * questLog = &gSaveBlock1Ptr->questLog[gUnknown_203ADF8];
|
||||
|
||||
CpuCopy16(questLog->unk_148, gSaveBlock1Ptr->flags, FLAGS_COUNT * sizeof(u8));
|
||||
CpuCopy16(questLog->unk_268, gSaveBlock1Ptr->vars, VARS_COUNT * sizeof(u16));
|
||||
sub_8111688();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user