through sub_80C4E08
This commit is contained in:
@@ -5,130 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_80C4D40
|
|
||||||
sub_80C4D40: @ 80C4D40
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r1, r0, 16
|
|
||||||
ldr r0, _080C4D68 @ =gUnknown_20399D4
|
|
||||||
ldr r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080C4D70
|
|
||||||
cmp r1, 0x5E
|
|
||||||
bne _080C4D70
|
|
||||||
ldr r0, _080C4D6C @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0x4
|
|
||||||
ldrsb r0, [r1, r0]
|
|
||||||
cmp r0, 0xA
|
|
||||||
bne _080C4D70
|
|
||||||
ldrb r0, [r1, 0x5]
|
|
||||||
cmp r0, 0x6
|
|
||||||
bhi _080C4D70
|
|
||||||
movs r0, 0x1
|
|
||||||
b _080C4D72
|
|
||||||
.align 2, 0
|
|
||||||
_080C4D68: .4byte gUnknown_20399D4
|
|
||||||
_080C4D6C: .4byte gSaveBlock1Ptr
|
|
||||||
_080C4D70:
|
|
||||||
movs r0, 0
|
|
||||||
_080C4D72:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_80C4D40
|
|
||||||
|
|
||||||
thumb_func_start GetMapName
|
|
||||||
GetMapName: @ 80C4D78
|
|
||||||
push {r4-r6,lr}
|
|
||||||
adds r6, r0, 0
|
|
||||||
lsls r1, 16
|
|
||||||
lsls r2, 16
|
|
||||||
lsrs r4, r2, 16
|
|
||||||
lsrs r0, r1, 16
|
|
||||||
ldr r2, _080C4D9C @ =0xffa80000
|
|
||||||
adds r1, r2
|
|
||||||
lsrs r5, r1, 16
|
|
||||||
cmp r5, 0x6C
|
|
||||||
bhi _080C4DBC
|
|
||||||
bl sub_80C4D40
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _080C4DA4
|
|
||||||
ldr r1, _080C4DA0 @ =gMapSecName_CeladonDept
|
|
||||||
b _080C4DAC
|
|
||||||
.align 2, 0
|
|
||||||
_080C4D9C: .4byte 0xffa80000
|
|
||||||
_080C4DA0: .4byte gMapSecName_CeladonDept
|
|
||||||
_080C4DA4:
|
|
||||||
ldr r0, _080C4DB8 @ =gUnknown_83F1CAC
|
|
||||||
lsls r1, r5, 2
|
|
||||||
adds r1, r0
|
|
||||||
ldr r1, [r1]
|
|
||||||
_080C4DAC:
|
|
||||||
adds r0, r6, 0
|
|
||||||
bl StringCopy
|
|
||||||
adds r1, r0, 0
|
|
||||||
b _080C4DCE
|
|
||||||
.align 2, 0
|
|
||||||
_080C4DB8: .4byte gUnknown_83F1CAC
|
|
||||||
_080C4DBC:
|
|
||||||
cmp r4, 0
|
|
||||||
bne _080C4DC2
|
|
||||||
movs r4, 0x12
|
|
||||||
_080C4DC2:
|
|
||||||
adds r0, r6, 0
|
|
||||||
movs r1, 0
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl StringFill
|
|
||||||
b _080C4DF2
|
|
||||||
_080C4DCE:
|
|
||||||
cmp r4, 0
|
|
||||||
beq _080C4DF0
|
|
||||||
subs r0, r1, r6
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, r4
|
|
||||||
bcs _080C4DEC
|
|
||||||
movs r2, 0
|
|
||||||
_080C4DDE:
|
|
||||||
strb r2, [r1]
|
|
||||||
adds r1, 0x1
|
|
||||||
adds r0, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, r4
|
|
||||||
bcc _080C4DDE
|
|
||||||
_080C4DEC:
|
|
||||||
movs r0, 0xFF
|
|
||||||
strb r0, [r1]
|
|
||||||
_080C4DF0:
|
|
||||||
adds r0, r1, 0
|
|
||||||
_080C4DF2:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end GetMapName
|
|
||||||
|
|
||||||
thumb_func_start GetMapNameGeneric
|
|
||||||
GetMapNameGeneric: @ 80C4DF8
|
|
||||||
push {lr}
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
movs r2, 0
|
|
||||||
bl GetMapName
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end GetMapNameGeneric
|
|
||||||
|
|
||||||
thumb_func_start sub_80C4E08
|
|
||||||
sub_80C4E08: @ 80C4E08
|
|
||||||
push {lr}
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
bl GetMapNameGeneric
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_80C4E08
|
|
||||||
|
|
||||||
thumb_func_start sub_80C4E18
|
thumb_func_start sub_80C4E18
|
||||||
sub_80C4E18: @ 80C4E18
|
sub_80C4E18: @ 80C4E18
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
|
|||||||
@@ -92,9 +92,9 @@ void FreeRegionMapIconResources(void);
|
|||||||
u16 GetRegionMapSectionIdAt(u16 x, u16 y);
|
u16 GetRegionMapSectionIdAt(u16 x, u16 y);
|
||||||
void CreateRegionMapPlayerIcon(u16 x, u16 y);
|
void CreateRegionMapPlayerIcon(u16 x, u16 y);
|
||||||
void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
|
void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
|
||||||
u8 *GetMapName(u8 *, u16, u16);
|
u8 *GetMapName(u8 *dest, u16 mapsec, u16 fill);
|
||||||
bool32 sub_8124668(u8 mapSecId);
|
bool32 sub_8124668(u8 mapSecId);
|
||||||
void GetMapNameGeneric(u8 *, u8);
|
u8 *GetMapNameGeneric(u8 *dest, u16 mapsec);
|
||||||
void sub_80BFF50(u8 a0, void (*a1)(void));
|
void sub_80BFF50(u8 a0, void (*a1)(void));
|
||||||
void MCB2_FlyMap(void);
|
void MCB2_FlyMap(void);
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -3119,7 +3119,7 @@ static const u16 *sub_8113FBC(const u16 *a0)
|
|||||||
StringCopy(gStringVar1, ItemId_GetName(r5[0]));
|
StringCopy(gStringVar1, ItemId_GetName(r5[0]));
|
||||||
if (r5[0] == ITEM_ESCAPE_ROPE)
|
if (r5[0] == ITEM_ESCAPE_ROPE)
|
||||||
{
|
{
|
||||||
GetMapNameGeneric(gStringVar2, r5[2]);
|
GetMapNameGeneric(gStringVar2, (u8)r5[2]);
|
||||||
StringExpandPlaceholders(gStringVar4, gUnknown_841AFA6);
|
StringExpandPlaceholders(gStringVar4, gUnknown_841AFA6);
|
||||||
}
|
}
|
||||||
else if (r5[1] != 0xFFFF)
|
else if (r5[1] != 0xFFFF)
|
||||||
@@ -4373,7 +4373,7 @@ static u16 *sub_81157DC(u16 *a0, const u16 *a1)
|
|||||||
static const u16 *sub_8115800(const u16 *a0)
|
static const u16 *sub_8115800(const u16 *a0)
|
||||||
{
|
{
|
||||||
const u16 *r4 = sub_8113E88(42, a0);
|
const u16 *r4 = sub_8113E88(42, a0);
|
||||||
GetMapNameGeneric(gStringVar1, r4[0]);
|
GetMapNameGeneric(gStringVar1, (u8)r4[0]);
|
||||||
StringExpandPlaceholders(gStringVar4, gUnknown_841B064);
|
StringExpandPlaceholders(gStringVar4, gUnknown_841B064);
|
||||||
return r4 + 1;
|
return r4 + 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3213,3 +3213,59 @@ void sub_80C4D30(void)
|
|||||||
sub_80C4BB8();
|
sub_80C4BB8();
|
||||||
sub_80C4BE4();
|
sub_80C4BE4();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool32 sub_80C4D40(u16 a0)
|
||||||
|
{
|
||||||
|
if (gUnknown_20399D4 != NULL)
|
||||||
|
return FALSE;
|
||||||
|
if (a0 != MAPSEC_CELADON_CITY)
|
||||||
|
return FALSE;
|
||||||
|
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(CELADON_CITY_DEPARTMENT_STORE_1F))
|
||||||
|
return FALSE;
|
||||||
|
if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_1F)
|
||||||
|
&& gSaveBlock1Ptr->location.mapNum != MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_2F)
|
||||||
|
&& gSaveBlock1Ptr->location.mapNum != MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_3F)
|
||||||
|
&& gSaveBlock1Ptr->location.mapNum != MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_4F)
|
||||||
|
&& gSaveBlock1Ptr->location.mapNum != MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_5F)
|
||||||
|
&& gSaveBlock1Ptr->location.mapNum != MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_ROOF)
|
||||||
|
&& gSaveBlock1Ptr->location.mapNum != MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_ELEVATOR))
|
||||||
|
return FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 *GetMapName(u8 *dst0, u16 mapsec, u16 fill)
|
||||||
|
{
|
||||||
|
u8 *dst;
|
||||||
|
u16 i;
|
||||||
|
u16 idx;;
|
||||||
|
if ((idx = mapsec - MAPSECS_KANTO) <= MAPSEC_SPECIAL_AREA - MAPSECS_KANTO)
|
||||||
|
{
|
||||||
|
if (sub_80C4D40(mapsec) == TRUE)
|
||||||
|
dst = StringCopy(dst0, gMapSecName_CeladonDept);
|
||||||
|
else
|
||||||
|
dst = StringCopy(dst0, gUnknown_83F1CAC[idx]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (fill == 0)
|
||||||
|
fill = 18;
|
||||||
|
return StringFill(dst0, CHAR_SPACE, fill);
|
||||||
|
}
|
||||||
|
if (fill != 0)
|
||||||
|
{
|
||||||
|
for (i = dst - dst0; i < fill; i++)
|
||||||
|
*dst++ = CHAR_SPACE;
|
||||||
|
*dst = EOS;
|
||||||
|
}
|
||||||
|
return dst;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 *GetMapNameGeneric(u8 *dest, u16 mapsec)
|
||||||
|
{
|
||||||
|
return GetMapName(dest, mapsec, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 *sub_80C4E08(u8 *dest, u16 mapsec)
|
||||||
|
{
|
||||||
|
return GetMapNameGeneric(dest, mapsec);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user