through sub_80C4E08

This commit is contained in:
PikalaxALT
2020-01-07 15:37:15 -05:00
parent b8ec686427
commit ce44eb021c
4 changed files with 60 additions and 128 deletions
-124
View File
@@ -5,130 +5,6 @@
.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
sub_80C4E18: @ 80C4E18
push {r4,lr}
+2 -2
View File
@@ -92,9 +92,9 @@ void FreeRegionMapIconResources(void);
u16 GetRegionMapSectionIdAt(u16 x, u16 y);
void CreateRegionMapPlayerIcon(u16 x, u16 y);
void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
u8 *GetMapName(u8 *, u16, u16);
u8 *GetMapName(u8 *dest, u16 mapsec, u16 fill);
bool32 sub_8124668(u8 mapSecId);
void GetMapNameGeneric(u8 *, u8);
u8 *GetMapNameGeneric(u8 *dest, u16 mapsec);
void sub_80BFF50(u8 a0, void (*a1)(void));
void MCB2_FlyMap(void);
+2 -2
View File
@@ -3119,7 +3119,7 @@ static const u16 *sub_8113FBC(const u16 *a0)
StringCopy(gStringVar1, ItemId_GetName(r5[0]));
if (r5[0] == ITEM_ESCAPE_ROPE)
{
GetMapNameGeneric(gStringVar2, r5[2]);
GetMapNameGeneric(gStringVar2, (u8)r5[2]);
StringExpandPlaceholders(gStringVar4, gUnknown_841AFA6);
}
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)
{
const u16 *r4 = sub_8113E88(42, a0);
GetMapNameGeneric(gStringVar1, r4[0]);
GetMapNameGeneric(gStringVar1, (u8)r4[0]);
StringExpandPlaceholders(gStringVar4, gUnknown_841B064);
return r4 + 1;
}
+56
View File
@@ -3213,3 +3213,59 @@ void sub_80C4D30(void)
sub_80C4BB8();
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);
}