through sub_8113414
This commit is contained in:
-179
@@ -5,185 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8113364
|
|
||||||
sub_8113364: @ 8113364
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _08113378 @ =0x00004038
|
|
||||||
bl GetVarPointer
|
|
||||||
bl sub_811337C
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08113378: .4byte 0x00004038
|
|
||||||
thumb_func_end sub_8113364
|
|
||||||
|
|
||||||
thumb_func_start sub_811337C
|
|
||||||
sub_811337C: @ 811337C
|
|
||||||
ldrb r0, [r0, 0x1]
|
|
||||||
ldr r1, _0811338C @ =gUnknown_20370C0
|
|
||||||
ldrh r1, [r1]
|
|
||||||
asrs r0, r1
|
|
||||||
movs r1, 0x1
|
|
||||||
ands r0, r1
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0811338C: .4byte gUnknown_20370C0
|
|
||||||
thumb_func_end sub_811337C
|
|
||||||
|
|
||||||
thumb_func_start sub_8113390
|
|
||||||
sub_8113390: @ 8113390
|
|
||||||
ldrb r2, [r0, 0x1]
|
|
||||||
movs r1, 0x1
|
|
||||||
orrs r1, r2
|
|
||||||
movs r2, 0x2
|
|
||||||
orrs r1, r2
|
|
||||||
movs r2, 0x4
|
|
||||||
orrs r1, r2
|
|
||||||
strb r1, [r0, 0x1]
|
|
||||||
bx lr
|
|
||||||
thumb_func_end sub_8113390
|
|
||||||
|
|
||||||
thumb_func_start sub_81133A4
|
|
||||||
sub_81133A4: @ 81133A4
|
|
||||||
push {lr}
|
|
||||||
movs r3, 0
|
|
||||||
movs r2, 0
|
|
||||||
ldr r0, _081133BC @ =gUnknown_20370C0
|
|
||||||
ldrh r0, [r0]
|
|
||||||
cmp r0, 0x7
|
|
||||||
bhi _081133F8
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _081133C0 @ =_081133C4
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_081133BC: .4byte gUnknown_20370C0
|
|
||||||
_081133C0: .4byte _081133C4
|
|
||||||
.align 2, 0
|
|
||||||
_081133C4:
|
|
||||||
.4byte _081133E4
|
|
||||||
.4byte _081133F8
|
|
||||||
.4byte _081133F8
|
|
||||||
.4byte _081133F8
|
|
||||||
.4byte _081133EA
|
|
||||||
.4byte _081133F0
|
|
||||||
.4byte _081133F4
|
|
||||||
.4byte _081133F8
|
|
||||||
_081133E4:
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
b _081133F8
|
|
||||||
_081133EA:
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0
|
|
||||||
b _081133F8
|
|
||||||
_081133F0:
|
|
||||||
movs r2, 0
|
|
||||||
b _081133F6
|
|
||||||
_081133F4:
|
|
||||||
movs r2, 0x2
|
|
||||||
_081133F6:
|
|
||||||
movs r3, 0x1
|
|
||||||
_081133F8:
|
|
||||||
ldr r0, _0811340C @ =gSaveBlock2Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _08113410 @ =0x00000a98
|
|
||||||
adds r0, r1
|
|
||||||
adds r1, r3, 0
|
|
||||||
bl sub_8113414
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0811340C: .4byte gSaveBlock2Ptr
|
|
||||||
_08113410: .4byte 0x00000a98
|
|
||||||
thumb_func_end sub_81133A4
|
|
||||||
|
|
||||||
thumb_func_start sub_8113414
|
|
||||||
sub_8113414: @ 8113414
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r1, 24
|
|
||||||
lsls r2, 24
|
|
||||||
lsrs r2, 24
|
|
||||||
adds r3, r2, 0
|
|
||||||
lsrs r1, 20
|
|
||||||
adds r1, r0, r1
|
|
||||||
ldrb r0, [r1]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _08113478
|
|
||||||
cmp r2, 0x1
|
|
||||||
beq _08113436
|
|
||||||
cmp r2, 0x1
|
|
||||||
ble _0811345C
|
|
||||||
cmp r3, 0x2
|
|
||||||
beq _08113448
|
|
||||||
b _0811345C
|
|
||||||
_08113436:
|
|
||||||
ldr r0, _08113440 @ =gStringVar1
|
|
||||||
ldr r1, _08113444 @ =gUnknown_84178D0
|
|
||||||
bl StringCopy
|
|
||||||
b _081134B2
|
|
||||||
.align 2, 0
|
|
||||||
_08113440: .4byte gStringVar1
|
|
||||||
_08113444: .4byte gUnknown_84178D0
|
|
||||||
_08113448:
|
|
||||||
ldr r0, _08113454 @ =gStringVar1
|
|
||||||
ldr r1, _08113458 @ =gUnknown_84178DA
|
|
||||||
bl StringCopy
|
|
||||||
b _081134B2
|
|
||||||
.align 2, 0
|
|
||||||
_08113454: .4byte gStringVar1
|
|
||||||
_08113458: .4byte gUnknown_84178DA
|
|
||||||
_0811345C:
|
|
||||||
ldr r0, _0811346C @ =gStringVar1
|
|
||||||
ldr r1, _08113470 @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r1]
|
|
||||||
ldr r2, _08113474 @ =0x00003a4c
|
|
||||||
adds r1, r2
|
|
||||||
bl StringCopy
|
|
||||||
b _081134B2
|
|
||||||
.align 2, 0
|
|
||||||
_0811346C: .4byte gStringVar1
|
|
||||||
_08113470: .4byte gSaveBlock1Ptr
|
|
||||||
_08113474: .4byte 0x00003a4c
|
|
||||||
_08113478:
|
|
||||||
ldr r4, _08113498 @ =gStringVar1
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0x7
|
|
||||||
bl StringCopyN
|
|
||||||
movs r0, 0xFF
|
|
||||||
strb r0, [r4, 0x7]
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0xFC
|
|
||||||
bne _081134B2
|
|
||||||
ldrb r0, [r4, 0x1]
|
|
||||||
cmp r0, 0x15
|
|
||||||
bne _081134B2
|
|
||||||
adds r4, 0x2
|
|
||||||
b _0811349E
|
|
||||||
.align 2, 0
|
|
||||||
_08113498: .4byte gStringVar1
|
|
||||||
_0811349C:
|
|
||||||
adds r4, 0x1
|
|
||||||
_0811349E:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _0811349C
|
|
||||||
movs r0, 0xFC
|
|
||||||
strb r0, [r4]
|
|
||||||
adds r4, 0x1
|
|
||||||
movs r0, 0x16
|
|
||||||
strb r0, [r4]
|
|
||||||
movs r0, 0xFF
|
|
||||||
strb r0, [r4, 0x1]
|
|
||||||
_081134B2:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8113414
|
|
||||||
|
|
||||||
thumb_func_start sub_81134B8
|
thumb_func_start sub_81134B8
|
||||||
sub_81134B8: @ 81134B8
|
sub_81134B8: @ 81134B8
|
||||||
push {lr}
|
push {lr}
|
||||||
|
|||||||
@@ -53,5 +53,6 @@ extern u16 gSpecialVar_MonBoxPos;
|
|||||||
extern u16 gSpecialVar_0x8014;
|
extern u16 gSpecialVar_0x8014;
|
||||||
|
|
||||||
extern u16 gUnknown_20370D0;
|
extern u16 gUnknown_20370D0;
|
||||||
|
extern u16 gUnknown_20370C0;
|
||||||
|
|
||||||
#endif // GUARD_EVENT_DATA_H
|
#endif // GUARD_EVENT_DATA_H
|
||||||
|
|||||||
@@ -372,4 +372,7 @@ extern const u8 SecretBase_RedCave1_Text_274E75[];
|
|||||||
extern const u8 SecretBase_RedCave1_Text_2751E1[];
|
extern const u8 SecretBase_RedCave1_Text_2751E1[];
|
||||||
extern const u8 SecretBase_RedCave1_Text_2754F6[];
|
extern const u8 SecretBase_RedCave1_Text_2754F6[];
|
||||||
extern const u8 SecretBase_RedCave1_Text_2758CC[];
|
extern const u8 SecretBase_RedCave1_Text_2758CC[];
|
||||||
|
|
||||||
|
extern const u8 gUnknown_84178D0[];
|
||||||
|
extern const u8 gUnknown_84178DA[];
|
||||||
#endif //GUARD_EVENT_SCRIPTS_H
|
#endif //GUARD_EVENT_SCRIPTS_H
|
||||||
|
|||||||
+3
-1
@@ -237,7 +237,9 @@ struct SaveBlock2
|
|||||||
/*0x098*/ struct Time localTimeOffset;
|
/*0x098*/ struct Time localTimeOffset;
|
||||||
/*0x0A0*/ struct Time lastBerryTreeUpdate;
|
/*0x0A0*/ struct Time lastBerryTreeUpdate;
|
||||||
/*0x0A8*/ u32 field_A8;
|
/*0x0A8*/ u32 field_A8;
|
||||||
/*0x0AC*/ u8 filler_AC[0xE74];
|
/*0x0AC*/ u8 filler_AC[0x9ec];
|
||||||
|
/*0xA98*/ u8 unk_A98[2][16];
|
||||||
|
/*0xAB8*/ u8 filler_AB8[0x468];
|
||||||
/*0xF20*/ u32 encryptionKey;
|
/*0xF20*/ u32 encryptionKey;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+99
-5
@@ -10,6 +10,7 @@
|
|||||||
#include "window.h"
|
#include "window.h"
|
||||||
#include "text_window.h"
|
#include "text_window.h"
|
||||||
#include "event_data.h"
|
#include "event_data.h"
|
||||||
|
#include "event_scripts.h"
|
||||||
#include "string_util.h"
|
#include "string_util.h"
|
||||||
#include "script.h"
|
#include "script.h"
|
||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
@@ -40,6 +41,8 @@ struct Var4038Struct
|
|||||||
u8 unk_1;
|
u8 unk_1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define VAR_0x4038_STRUCT ((struct Var4038Struct *)GetVarPointer(VAR_0x4038))
|
||||||
|
|
||||||
struct UnkStruct_203AE94
|
struct UnkStruct_203AE94
|
||||||
{
|
{
|
||||||
u8 unk_0_0:4;
|
u8 unk_0_0:4;
|
||||||
@@ -143,9 +146,11 @@ void sub_81130BC(struct Var4038Struct *);
|
|||||||
u8 sub_8113194(struct Var4038Struct *);
|
u8 sub_8113194(struct Var4038Struct *);
|
||||||
u16 sub_81132A0(struct Var4038Struct *);
|
u16 sub_81132A0(struct Var4038Struct *);
|
||||||
void sub_81132E0(struct Var4038Struct *);
|
void sub_81132E0(struct Var4038Struct *);
|
||||||
|
bool16 sub_811337C(struct Var4038Struct *);
|
||||||
|
void sub_8113390(struct Var4038Struct *);
|
||||||
|
void sub_8113414(u8 (*)[16], u8, u8);
|
||||||
bool8 sub_8113508(void);
|
bool8 sub_8113508(void);
|
||||||
void sub_8113524(struct Var4038Struct *);
|
void sub_8113524(struct Var4038Struct *);
|
||||||
void sub_8113390(struct Var4038Struct *);
|
|
||||||
void sub_8113A1C(u8);
|
void sub_8113A1C(u8);
|
||||||
void sub_811381C(void);
|
void sub_811381C(void);
|
||||||
void sub_81138F8(void);
|
void sub_81138F8(void);
|
||||||
@@ -2252,7 +2257,7 @@ void sub_8113044(void)
|
|||||||
|
|
||||||
void sub_8113064(void)
|
void sub_8113064(void)
|
||||||
{
|
{
|
||||||
sub_8113078((struct Var4038Struct *)GetVarPointer(VAR_0x4038));
|
sub_8113078(VAR_0x4038_STRUCT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8113078(struct Var4038Struct * varPtr)
|
void sub_8113078(struct Var4038Struct * varPtr)
|
||||||
@@ -2266,7 +2271,7 @@ void sub_8113078(struct Var4038Struct * varPtr)
|
|||||||
|
|
||||||
void sub_81130A8(void)
|
void sub_81130A8(void)
|
||||||
{
|
{
|
||||||
sub_81130BC((struct Var4038Struct *)GetVarPointer(VAR_0x4038));
|
sub_81130BC(VAR_0x4038_STRUCT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_81130BC(struct Var4038Struct * varPtr)
|
void sub_81130BC(struct Var4038Struct * varPtr)
|
||||||
@@ -2363,7 +2368,7 @@ u8 sub_81131FC(struct Var4038Struct * a0)
|
|||||||
|
|
||||||
u16 sub_8113288(void)
|
u16 sub_8113288(void)
|
||||||
{
|
{
|
||||||
return sub_81132A0((struct Var4038Struct *)GetVarPointer(VAR_0x4038));
|
return sub_81132A0(VAR_0x4038_STRUCT);
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 sub_81132A0(struct Var4038Struct * a0)
|
u16 sub_81132A0(struct Var4038Struct * a0)
|
||||||
@@ -2382,7 +2387,7 @@ u16 sub_81132A0(struct Var4038Struct * a0)
|
|||||||
|
|
||||||
void sub_81132CC(void)
|
void sub_81132CC(void)
|
||||||
{
|
{
|
||||||
sub_81132E0((struct Var4038Struct *)GetVarPointer(VAR_0x4038));
|
sub_81132E0(VAR_0x4038_STRUCT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_81132E0(struct Var4038Struct * a0)
|
void sub_81132E0(struct Var4038Struct * a0)
|
||||||
@@ -2411,3 +2416,92 @@ void sub_81132E0(struct Var4038Struct * a0)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool16 sub_8113364(void)
|
||||||
|
{
|
||||||
|
return sub_811337C(VAR_0x4038_STRUCT);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool16 sub_811337C(struct Var4038Struct * a0)
|
||||||
|
{
|
||||||
|
return (a0->unk_1 >> gUnknown_20370C0) & 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8113390(struct Var4038Struct * a0)
|
||||||
|
{
|
||||||
|
a0->unk_1 |= 1;
|
||||||
|
a0->unk_1 |= 2;
|
||||||
|
a0->unk_1 |= 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81133A4(void)
|
||||||
|
{
|
||||||
|
u8 r3 = 0;
|
||||||
|
u8 r2 = 0;
|
||||||
|
|
||||||
|
switch (gUnknown_20370C0)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
r2 = 0;
|
||||||
|
r3 = 0;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
case 7:
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
r2 = 1;
|
||||||
|
r3 = 0;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
r2 = 0;
|
||||||
|
r3 = 1;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
r2 = 2;
|
||||||
|
r3 = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
sub_8113414(gSaveBlock2Ptr->unk_A98, r3, r2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8113414(u8 (* a0)[16], u8 a1, u8 a2)
|
||||||
|
{
|
||||||
|
u8 * str;
|
||||||
|
const u8 * src = a0[a1];
|
||||||
|
if (src[0] == EOS)
|
||||||
|
{
|
||||||
|
switch (a2)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
StringCopy(gStringVar1, gSaveBlock1Ptr->rivalName);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
StringCopy(gStringVar1, gUnknown_84178D0);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
StringCopy(gStringVar1, gUnknown_84178DA);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
StringCopy(gStringVar1, gSaveBlock1Ptr->rivalName);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
str = gStringVar1;
|
||||||
|
StringCopyN(str, src, 7);
|
||||||
|
str[7] = EOS;
|
||||||
|
if ( str[0] == EXT_CTRL_CODE_BEGIN
|
||||||
|
&& str[1] == EXT_CTRL_CODE_JPN)
|
||||||
|
{
|
||||||
|
str += 2;
|
||||||
|
while (*str != EOS)
|
||||||
|
str++;
|
||||||
|
*str++ = EXT_CTRL_CODE_BEGIN;
|
||||||
|
*str++ = EXT_CTRL_CODE_ENG;
|
||||||
|
*str++ = EOS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user