diff --git a/asm/code_8045A00.s b/asm/code_8045A00.s index c1db30ad5..12fcf8310 100644 --- a/asm/code_8045A00.s +++ b/asm/code_8045A00.s @@ -291,7 +291,7 @@ _08045FE8: bl TryDisplayDungeonLoggableMessage _08045FF2: ldrb r0, [r5, 0x2] - bl HandleOnPickupTutorial + bl TryDisplayItemPickupTutorialMessage b _080460E0 .align 2, 0 _08045FFC: .4byte gPickedUpItemToolbox @@ -397,7 +397,7 @@ _080460C0: bl TryDisplayDungeonLoggableMessage _080460DA: ldrb r0, [r5, 0x2] - bl HandleOnPickupTutorial + bl TryDisplayItemPickupTutorialMessage _080460E0: add sp, 0xB8 pop {r3-r5} diff --git a/asm/code_805D8C8_1.s b/asm/code_805D8C8_1.s index 9f519fcca..7e850607d 100644 --- a/asm/code_805D8C8_1.s +++ b/asm/code_805D8C8_1.s @@ -1353,7 +1353,7 @@ _08069384: ldr r0, _080694A4 ldr r1, [r0] mov r0, r8 - bl sub_805239C + bl DisplayDungeonLoggableMessageTrue bl sub_803E178 bl sub_8049ED4 _080693C6: diff --git a/asm/code_8069E0C.s b/asm/code_8069E0C.s index 7c6440eca..647e50126 100644 --- a/asm/code_8069E0C.s +++ b/asm/code_8069E0C.s @@ -706,7 +706,7 @@ _0806A85C: ldr r0, _0806A894 ldr r1, [r0] movs r0, 0 - bl sub_805239C + bl DisplayDungeonLoggableMessageTrue _0806A87A: adds r2, r4, 0 cmp r2, 0x17 diff --git a/asm/code_80718D8.s b/asm/code_80718D8.s index 5d8e2b77f..1fda8adc4 100644 --- a/asm/code_80718D8.s +++ b/asm/code_80718D8.s @@ -175,7 +175,7 @@ _08072894: ldr r0, _080728D0 ldr r1, [r0] mov r0, r9 - bl sub_80528F4 + bl DisplayDungeonLoggableMessage b _08072928 .align 2, 0 _080728C8: .4byte gAvailablePokemonNames @@ -370,7 +370,7 @@ _08072A0C: ldr r0, _08072A4C ldr r1, [r0] mov r0, r9 - bl sub_80528F4 + bl DisplayDungeonLoggableMessage b _08072A8C .align 2, 0 _08072A44: .4byte gAvailablePokemonNames @@ -421,7 +421,7 @@ _08072A92: ldr r0, _08072AC4 ldr r1, [r0] mov r0, r9 - bl sub_80528F4 + bl DisplayDungeonLoggableMessage _08072AAE: movs r0, 0x1 _08072AB0: diff --git a/asm/code_80521D0.s b/asm/dungeon_message.s similarity index 99% rename from asm/code_80521D0.s rename to asm/dungeon_message.s index 56260ff8d..9f533de53 100644 --- a/asm/code_80521D0.s +++ b/asm/dungeon_message.s @@ -5250,7 +5250,7 @@ _080564F2: beq _08056510 adds r0, r6, 0 mov r1, r9 - bl sub_805239C + bl DisplayDungeonLoggableMessageTrue b _08056518 .align 2, 0 _08056508: .4byte gFormatItems @@ -5258,7 +5258,7 @@ _0805650C: .4byte 0x00000163 _08056510: adds r0, r6, 0 mov r1, r9 - bl sub_80522E8 + bl DisplayDungeonLoggableMessageFalse _08056518: cmp r7, 0 beq _08056544 diff --git a/include/code_80521D0.h b/include/code_80521D0.h deleted file mode 100644 index 241014353..000000000 --- a/include/code_80521D0.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef GUARD_CODE_80521D0_H -#define GUARD_CODE_80521D0_H - -#include "structs/dungeon_entity.h" - -void TryDisplayDungeonLoggableMessage(Entity *pokemon, const char message[]); - -#endif // GUARD_CODE_80521D0_H \ No newline at end of file diff --git a/include/dungeon_message.h b/include/dungeon_message.h new file mode 100644 index 000000000..40b227097 --- /dev/null +++ b/include/dungeon_message.h @@ -0,0 +1,51 @@ +#ifndef GUARD_DUNGEON_MESSAGE_H +#define GUARD_DUNGEON_MESSAGE_H + +#include "structs/dungeon_entity.h" +#include "code_80130A8.h" + +struct MonDialogueSpriteInfo +{ + s16 species; + u8 spriteId; +}; + +struct DungeonDialogueStruct +{ + u16 unk0; + u8 unk2; + u8 unk3; + s16 unk4; + s16 unk6; + const u8 *str; +}; + +// These functions display the string if certain conditions are met. The conditions differ depending on the function. The string is then saved to the message log. +void TryDisplayDungeonLoggableMessage(Entity *pokemon, const char *str); +void TryDisplayDungeonLoggableMessage2(Entity *r0, const char *str); +void TryDisplayDungeonLoggableMessage3(Entity *r0, Entity *r1, const char *str); +void TryDisplayDungeonLoggableMessage4(Entity *r0, Entity *r1, const char *str); +void TryDisplayDungeonLoggableMessage5(Entity *r0, Position *pos, const char *str); + +// As opposed to the above - these always display the string and save it in the message log. False/True stand for an unknown argument. Not sure what the practical difference is between these. +void DisplayDungeonLoggableMessage(Entity *a0, const u8 *str); +void DisplayDungeonLoggableMessageFalse(Entity *r0, const char *str); +void DisplayDungeonLoggableMessageTrue(Entity *r0, const char *str); + +void xxx_draw_string_80524F0(void); +void sub_80526D0(s32 r0); +void sub_8052740(s32 a0); +void DisplayDungeonMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool8 a2); +void DisplayDungeonDialogue(const struct DungeonDialogueStruct *dialogueInfo); +bool32 DisplayDungeonYesNoMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool32 defaultYes); +s32 DisplayDungeonMenuMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, const MenuItem *menuItems, u16 unkArg); +void sub_8052D44(s16 *ids, Entity *leader, Entity *partner); +void TryDisplayGeneralTutorialMessage(void); +void TryDisplayItemPickupTutorialMessage(u8 itemId); +void DisplayYouReachedDestFloorStr(void); +void sub_8052FB8(const u8 *str); +const u8 *GetCurrentDungeonName(void); +void ResetMessageLog(void); +bool32 DisplayMessageLog(void); + +#endif // GUARD_DUNGEON_MESSAGE_H diff --git a/ld_script.txt b/ld_script.txt index ca4d8df1e..38c827d38 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -234,8 +234,8 @@ SECTIONS { asm/code_804AFAC.o(.text); src/code_804AFAC.o(.text); asm/code_804FD30.o(.text); - src/code_80521D0.o(.text); - asm/code_80521D0.o(.text); + src/dungeon_message.o(.text); + asm/dungeon_message.o(.text); src/charge_move.o(.text); src/move_util.o(.text); src/move_actions.o(.text); diff --git a/src/code_804267C.c b/src/code_804267C.c index 87b53f959..49d9d6fb0 100644 --- a/src/code_804267C.c +++ b/src/code_804267C.c @@ -33,7 +33,7 @@ extern void sub_8042D7C(void); extern u8 sub_8043D10(void); extern bool8 sub_8045888(Entity *); extern void sub_8052210(u32); -extern void sub_805239C(Entity *, const u8 *); +extern void DisplayDungeonLoggableMessageTrue(Entity *, const u8 *); // This func plays the appropriate ascend/descend SFX for stairs depending on the direction void PlayStairsSound(void) @@ -115,7 +115,7 @@ void sub_80427AC(void) sub_80429A0(entity); if (!enInfo->isNotTeamMember) { SetMessageArgument(gAvailablePokemonNames, entity, 0); - sub_805239C(entity, *gPtrFeralFoundItemMessage); + DisplayDungeonLoggableMessageTrue(entity, *gPtrFeralFoundItemMessage); } } } diff --git a/src/code_8042B34.c b/src/code_8042B34.c index 53536730c..1f8a6ad5a 100644 --- a/src/code_8042B34.c +++ b/src/code_8042B34.c @@ -316,7 +316,7 @@ extern void sub_803E178(void); extern void sub_80848F0(void); extern void sub_8097890(void); extern void sub_806AB2C(void); -extern void sub_8052DD0(void); +extern void TryDisplayGeneralTutorialMessage(void); extern void DisplayPreFightDialogue(void); extern void sub_8071DA4(Entity *); extern void sub_803E748(void); @@ -330,7 +330,7 @@ extern void sub_807E88C(void); extern void InitDungeonPokemonSprites(void); extern void nullsub_16(void); extern void sub_80521D0(void); -extern void sub_80531A8(void); +extern void ResetMessageLog(void); extern void sub_803F27C(u8); extern void sub_807E7FC(u8); extern void sub_80095CC(u32, u32); @@ -552,7 +552,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8) sub_8098080(); nullsub_16(); sub_80521D0(); - sub_80531A8(); + ResetMessageLog(); InitDungeonPokemonSprites(); if (!r6) { sub_804513C(); @@ -719,7 +719,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8) gDungeon->unk0 = 1; if (!r6) { - sub_8052DD0(); + TryDisplayGeneralTutorialMessage(); if (gDungeon->unk9 != 0) { gDungeon->unk9 = 0; sub_8083D68(); diff --git a/src/code_8048480.c b/src/code_8048480.c index 45bd69a99..023388b29 100644 --- a/src/code_8048480.c +++ b/src/code_8048480.c @@ -1,7 +1,7 @@ #include "global.h" #include "code_803E668.h" #include "code_8045A00.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "code_8077274_1.h" #include "code_807CD9C.h" #include "code_808417C.h" @@ -100,17 +100,14 @@ extern void sub_8063CF0(ActionContainer *, u32); extern void sub_8063A70(ActionContainer *, u32); extern u8 sub_8062F90(Entity *, u32, u32, u32, u32); extern void sub_8044DF0(Entity *, u32, u32); -extern s32 DisplayDungeonYesNoMessage(u32, u8 *, u32); extern void sub_803EAF0(u32, u32); extern void sub_8044C10(bool8); Entity *DrawFieldGiveItemMenu(u32, u32); -extern void DisplayDungeonMessage(u32, u8 *, u32); extern void sub_8044E24(Entity *, u32, u32); extern void sub_804245C(Entity *, Item *); extern u8 sub_8072938(Entity *, u16); extern void sub_8072008(Entity *pokemon, Entity *r1, u32 r2, u8 r3, u32); extern void LevelDownTarget(Entity *pokemon, Entity *r1, u32 r2); -extern void TryDisplayDungeonLoggableMessage3(Entity *pokemon, Entity *r1, const u8[]); extern void sub_806F370(Entity *pokemon, Entity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32); extern s32 sub_8042520(Entity *); Entity *sub_80696FC(Entity *); diff --git a/src/code_805D8C8_1.c b/src/code_805D8C8_1.c index c7f10065c..ecbb6941d 100644 --- a/src/code_805D8C8_1.c +++ b/src/code_805D8C8_1.c @@ -3,7 +3,7 @@ #include "number_util.h" #include "input.h" #include "structs/map.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "dungeon_action.h" #include "dungeon_ai_targeting.h" #include "dungeon_pokemon_attributes.h" @@ -57,7 +57,6 @@ struct UnkMenuBitsStruct { u8 a0_32; }; -extern void DisplayDungeonMessage(u32, const u8 *, u32); extern void HandleSetItemAction(Entity *,bool8); extern void HandleUnsetItemAction(Entity *,bool8); extern bool8 sub_8048A68(Entity *param_1,Item *item); @@ -67,12 +66,10 @@ extern Item *sub_8044D90(Entity *, s32, u32); extern void sub_8083D44(void); extern void sub_8083D30(void); extern void sub_8083D08(void); -extern void sub_805239C(Entity *, const u8 *); extern void sub_806A6E8(Entity *); extern bool8 sub_8047084(s32 itemFlag); extern void sub_807FE9C(Entity *pokemon, Position *pos, int param_3, char param_4); extern void sub_8045DB4(Position *, u32); -extern s32 DisplayDungeonYesNoMessage(u32, const u8 *, u32); bool8 sub_807EF48(void); void sub_806A2BC(Entity *a0, u8 a1); bool8 sub_805E874(void); @@ -89,7 +86,6 @@ void sub_8094C88(void); void sub_8040A84(void); void sub_8047158(void); void sub_804AA60(void); -void DisplayMessageLog(void); void sub_806A914(u8 a0, u8 a1, u8 a2); void sub_8044C10(u8 a0); u16 GetLeaderActionId(void); @@ -1721,13 +1717,13 @@ void sub_805F02C(void) EntityInfo *leaderInfo = leader->info; if (r8->isTeamLeader) { - sub_805239C(r7, gUnknown_80F9BD8); + DisplayDungeonLoggableMessageTrue(r7, gUnknown_80F9BD8); } else if (sub_8047084(ITEM_FLAG_IN_SHOP) || sub_807EF48()) { - sub_805239C(r7, gUnknown_80F9C08); + DisplayDungeonLoggableMessageTrue(r7, gUnknown_80F9C08); } else if (gDungeon->unk66E) { - sub_805239C(r7, gUnknown_80F9C2C); + DisplayDungeonLoggableMessageTrue(r7, gUnknown_80F9C2C); } else { gDungeon->unk679 = 0; diff --git a/src/code_806CD90.c b/src/code_806CD90.c index 248533637..0486267b1 100644 --- a/src/code_806CD90.c +++ b/src/code_806CD90.c @@ -39,7 +39,7 @@ extern u8 gUnknown_202F221; extern u8 gUnknown_202DFE8[]; extern void sub_806BFC0(EntityInfo *, u32); -extern void sub_805239C(Entity *, const u8 *); +extern void DisplayDungeonLoggableMessageTrue(Entity *, const u8 *); const u8 gUnknown_8106EEF[] = {0x03, 0x04, 0x05, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00 }; @@ -721,13 +721,13 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9E44); } else { - sub_805239C(attacker, gUnknown_80F9E44); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9E44); } } else if (targetData->isNotTeamMember) { if (targetData->clientType == CLIENT_TYPE_CLIENT) { - sub_805239C(attacker, gUnknown_80F9DF0[r8]); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9DF0[r8]); } else { TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9CC0[r8]); @@ -736,24 +736,24 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc else { PokemonStruct2 *recruitedMon = &gRecruitedPokemonRef->pokemon2[targetData->teamIndex]; if (targetData->isTeamLeader || (targetData->joinedAt.joinedAt == DUNGEON_JOIN_LOCATION_PARTNER && gDungeon->unk65C == 0)) { - sub_805239C(attacker, gUnknown_80F9CEC[r8]); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9CEC[r8]); } else if (IsClientOrTeamBase(targetData->joinedAt.joinedAt)) { - sub_805239C(attacker, gUnknown_80F9DAC[r8]); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9DAC[r8]); } else if (targetData->clientType == CLIENT_TYPE_CLIENT) { - sub_805239C(attacker, gUnknown_80F9DF0[r8]); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9DF0[r8]); } else if (sub_806A58C(recruitedMon->unkA)) { if (gDungeon->unk65D != 0) { - sub_805239C(attacker, gUnknown_80F9D8C[r8]); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9D8C[r8]); } else { - sub_805239C(attacker, gUnknown_80F9D84[r8]); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9D84[r8]); } } else { - sub_805239C(attacker, gUnknown_80F9D28[r8]); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9D28[r8]); } } @@ -791,7 +791,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc sub_806CCB4(target, sub_806CEBC(target)); EntityUpdateStatusSprites(target); SetMessageArgument(gUnknown_202DFE8, target, 0); - sub_805239C(attacker, gUnknown_80FD46C); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD46C); sub_806F63C(target); return FALSE; } @@ -849,7 +849,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc EntityUpdateStatusSprites(target); SetMessageArgument(gAvailablePokemonNames, target, 0); SetMessageArgument(gAvailablePokemonNames + 0x50, teamMember, 0); - sub_805239C(attacker, gUnknown_80FD484); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD484); sub_806F63C(target); return FALSE; } @@ -902,7 +902,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc sub_806CCB4(target, sub_806CEBC(target)); EntityUpdateStatusSprites(target); SetMessageArgument(gUnknown_202DFE8, target, 0); - sub_805239C(attacker, gUnknown_80FD46C); + DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD46C); sub_806F63C(target); return FALSE; } diff --git a/src/code_806FDF4.c b/src/code_806FDF4.c index b9d9d6d4d..d100ad0ac 100644 --- a/src/code_806FDF4.c +++ b/src/code_806FDF4.c @@ -5,7 +5,7 @@ #include "code_80118A4.h" #include "code_803E668.h" #include "code_8045A00.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "code_806CD90.h" #include "code_8077274_1.h" #include "code_8097670.h" @@ -45,8 +45,6 @@ extern u8 *gUnknown_80FA090[]; void sub_8068FE0(Entity *, u32, Entity *); u8 sub_806B8CC(); bool8 sub_805FBE8(u8 *a0); -extern s32 DisplayDungeonYesNoMessage(u32, const u8 *, u32); -extern void DisplayDungeonMessage(u32, const u8 *, u32); void sub_8083D88(); u8 sub_808529C(s32); extern u8 GetBodySize(s16 index); diff --git a/src/code_80718D8.c b/src/code_80718D8.c index b5947d4ee..7baab4233 100644 --- a/src/code_80718D8.c +++ b/src/code_80718D8.c @@ -55,7 +55,7 @@ extern u8 gUnknown_8107010[8]; extern u8 *gUnknown_8107018[3]; extern void sub_80421C0(Entity *pokemon, u16 r1); -void sub_80528F4(Entity *, u8 *); +void DisplayDungeonLoggableMessage(Entity *, u8 *); void sub_8083D58(void); void sub_8072778(Entity *, Entity *, u8, u8); bool8 sub_80725A4(Entity *, Entity *); @@ -66,7 +66,7 @@ void sub_806A2BC(Entity *, u32); void sub_806A3D4(u8 *, s32, s32, s32); extern void DisplayDungeonMessage(u32, u8 *, u32); extern Entity* sub_806B7F8(struct unkStruct_806B7F8 *, bool8); -extern void sub_805239C(struct Entity *r0, const char r1[]); +extern void DisplayDungeonLoggableMessageTrue(struct Entity *r0, const char r1[]); extern void sub_8042920(struct Entity *r0); extern s16 sub_803D970(u32); extern s32 sub_803DA20(s32 param_1); @@ -140,7 +140,7 @@ void sub_8071B48(void) } if (entityPtr != NULL) { - sub_805239C(0,*gUnknown_80FED68); + DisplayDungeonLoggableMessageTrue(0,*gUnknown_80FED68); sub_8042920(entityPtr); } if (dungeon->unk66E != 0) { @@ -718,7 +718,7 @@ bool8 sub_80723D0(Entity *pokemon, Entity *target, u8 param_3, u8 param_4) gFormatData_202DE30[0] = level; SetMessageArgument_2(gAvailablePokemonNames, info, 0); - sub_80528F4(target, *gUnknown_80F9E80); + DisplayDungeonLoggableMessage(target, *gUnknown_80F9E80); } else { @@ -726,7 +726,7 @@ bool8 sub_80723D0(Entity *pokemon, Entity *target, u8 param_3, u8 param_4) sub_8083D58(); gFormatData_202DE30[0] = level; SetMessageArgument_2(gAvailablePokemonNames, info, 0); - sub_805239C(target, *gUnknown_80F9E80); + DisplayDungeonLoggableMessageTrue(target, *gUnknown_80F9E80); } } flag = TRUE; diff --git a/src/code_8073CF0.c b/src/code_8073CF0.c index 2eb0eb55f..bb9930309 100644 --- a/src/code_8073CF0.c +++ b/src/code_8073CF0.c @@ -29,19 +29,17 @@ #include "constants/move_id.h" #include "constants/weather.h" #include "number_util.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "code_8077274_1.h" #include "dungeon_pokemon_attributes.h" extern bool8 sub_8044B28(void); extern void sub_8075708(Entity *entity); -extern void sub_80526D0(u8 r0); extern void DealDamageToEntity(Entity *, s32, u32, u32); extern void sub_8067110(Entity *); extern void sub_80671A0(Entity *); extern void sub_8073D14(Entity *); extern void sub_8045BF8(u8 *, Item *); -extern void sub_805239C(Entity *, const u8 *); extern bool8 sub_80461C8(Position *, u32); extern void sub_805229C(void); extern void sub_807E8F0(Entity *); @@ -161,7 +159,7 @@ void sub_8073D14(Entity *entity) if (ShouldMonsterRunAwayAndShowEffect(entity, TRUE)) { sub_8045BF8(gFormatItems, groundItem); SetMessageArgument(gAvailablePokemonNames, entity, 0); - sub_805239C(entity, gMonTerrifiedCouldntPickUpItem); + DisplayDungeonLoggableMessageTrue(entity, gMonTerrifiedCouldntPickUpItem); } else if (!_entityInfo->isNotTeamMember && GetItemCategory(groundItem->id) == CATEGORY_POKE) { // Why check the same thing again? @@ -174,7 +172,7 @@ void sub_8073D14(Entity *entity) AddToTeamMoney(GetMoneyValue(groundItem)); sub_8045BF8(gFormatItems, groundItem); sub_80461C8(&entity->pos, 1); - sub_805239C(entity, gMonPickedUpItem); + DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem); } else { s32 i, nItems, newInventoryId; @@ -238,9 +236,9 @@ void sub_8073D14(Entity *entity) sub_80461C8(&entity->pos, 1); PlaySoundEffect(0x14A); if (inventoryIds[newInventoryId] <= -1) - sub_805239C(entity, gMonPickedUpItem2); + DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem2); else - sub_805239C(entity, gMonPickedUpItemToolbox); + DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItemToolbox); return; } @@ -253,7 +251,7 @@ void sub_8073D14(Entity *entity) if (i == nItems) { sub_8045BF8(gFormatItems, groundItem); - sub_805239C(entity, gMonSteppedOnItem); + DisplayDungeonLoggableMessageTrue(entity, gMonSteppedOnItem); } else { if (_entityInfo->isNotTeamMember) { @@ -267,16 +265,16 @@ void sub_8073D14(Entity *entity) _entityInfo->heldItem = *groundItem; sub_8045BF8(gFormatItems, groundItem); sub_80461C8(&entity->pos, 1); - sub_805239C(entity, gMonPickedUpItem2); + DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem2); } else if (AddItemToInventory(groundItem)) { SetMessageArgument(gAvailablePokemonNames, entity, 0); - sub_805239C(entity, gMonCouldntPickUpItem); + DisplayDungeonLoggableMessageTrue(entity, gMonCouldntPickUpItem); } else { sub_8045BF8(gFormatItems, groundItem); sub_80461C8(&entity->pos, 1); - sub_805239C(entity, gMonPickedUpItemToolbox); + DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItemToolbox); } } } diff --git a/src/code_807CD9C.c b/src/code_807CD9C.c index 14bea4fdc..e2eacb392 100644 --- a/src/code_807CD9C.c +++ b/src/code_807CD9C.c @@ -3,7 +3,7 @@ #include "constants/ability.h" #include "code_803E46C.h" #include "code_8045A00.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "code_806CD90.h" #include "code_807CD9C.h" #include "structs/str_dungeon.h" @@ -39,7 +39,6 @@ bool8 ExposeTrap(s32 x, s32 y); void sub_8040A84(); void sub_8049ED4(); void sub_806A5B8(Entity *); -void TryDisplayDungeonLoggableMessage3(Entity *, Entity *, u8 *); void sub_80421C0(Entity *, u32); u8 sub_8045888(Entity *); void sub_807EC28(u32); diff --git a/src/code_807E1A0.c b/src/code_807E1A0.c index ec42ef3ce..a2582b05e 100644 --- a/src/code_807E1A0.c +++ b/src/code_807E1A0.c @@ -2,7 +2,7 @@ #include "code_804267C.h" #include "code_8045A00.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "constants/ability.h" #include "constants/type.h" #include "dungeon_ai.h" @@ -20,7 +20,6 @@ void sub_806A2BC(Entity *pokemon, u8 param_2); extern u8 sub_8044B28(void); extern void sub_8068FE0(Entity *, u32, Entity *r2); extern void nullsub_93(Position *); -extern void TryDisplayDungeonLoggableMessage3(Entity *, Entity *, u8 *); extern void sub_806F370(Entity *pokemon, Entity *target, u32, u32, u8 *, u8 moveType, s32, u32, u32, u32); extern void sub_80694C0(Entity *, s32, s32, u32); extern void sub_807EC28(bool8); diff --git a/src/dungeon_ai_leader.c b/src/dungeon_ai_leader.c index ee36b170c..08294a096 100644 --- a/src/dungeon_ai_leader.c +++ b/src/dungeon_ai_leader.c @@ -5,7 +5,7 @@ #include "code_803E46C.h" #include "code_804267C.h" #include "code_8045A00.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "code_8077274_1.h" #include "code_807CD9C.h" #include "constants/dungeon_action.h" @@ -71,7 +71,6 @@ void HandleSetItemAction(Entity *,bool8); void HandleUnsetItemAction(Entity *,bool8); extern u8 sub_8044B28(void); extern u8 UseAttack(Entity *); -void sub_8052740(u32); void sub_806A1E8(Entity *pokemon); extern void sub_80694C0(Entity *, s32, s32, u32); bool8 sub_804AE08(Position *pos); diff --git a/src/code_80521D0.c b/src/dungeon_message.c similarity index 98% rename from src/code_80521D0.c rename to src/dungeon_message.c index 72d1c760d..756ce5e8c 100644 --- a/src/code_80521D0.c +++ b/src/dungeon_message.c @@ -1,7 +1,7 @@ #include "global.h" +#include "dungeon_message.h" #include "dungeon.h" #include "structs/dungeon_entity.h" -#include "code_80521D0.h" #include "code_803E46C.h" #include "code_80130A8.h" #include "code_800E9E4.h" @@ -27,9 +27,9 @@ static bool8 TryScrollLogUp(s32 a0); static void CopyStringToMessageLog(const u8 *src, u32 a1, u32 a2); static void CreateMessageLogArrow(bool8 upArrow, s32 y); static void DisplayMessageAddToLog(Entity *r0, const char *str, u8 r2); +static bool8 sub_8052DC0(Entity *); extern bool8 sub_8045888(Entity *r0); -extern u8 sub_8052DC0(Entity *); extern u8 sub_803F428(Position *); extern void sub_805E804(void); extern void sub_803EAF0(s32, s32); @@ -90,7 +90,7 @@ UNUSED void TryDisplayDungeonLoggableMessage2(Entity *r0, const char *str) } } -void sub_80522E8(Entity *r0, const char *str) +void DisplayDungeonLoggableMessageFalse(Entity *r0, const char *str) { DisplayMessageAddToLog(r0, str, FALSE); } @@ -137,7 +137,7 @@ void TryDisplayDungeonLoggableMessage5(Entity *r0, Position *pos, const char *st } } -void sub_805239C(Entity *r0, const char *str) +void DisplayDungeonLoggableMessageTrue(Entity *r0, const char *str) { DisplayMessageAddToLog(r0, str, TRUE); } @@ -301,12 +301,6 @@ void sub_8052740(s32 a0) } } -struct MonDialogueSpriteInfo -{ - s16 species; - u8 spriteId; -}; - // Prints string in dialogue box and waits for A/B button press #define PRINT_STRING_WAIT_PRESS(chosenMenuIndex) \ { \ @@ -372,22 +366,12 @@ void DisplayDungeonMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 sub_803E708(8, 9); } -void sub_80528F4(Entity *a0, const u8 *str) +void DisplayDungeonLoggableMessage(Entity *a0, const u8 *str) { DisplayDungeonMessage(NULL, str, TRUE); - sub_80522E8(a0, str); + DisplayDungeonLoggableMessageFalse(a0, str); } -struct DungeonDialogueStruct -{ - u16 unk0; - u8 unk2; - u8 unk3; - s16 unk4; - s16 unk6; - const u8 *str; -}; - struct Struct_sub_808CDB0 { Position pos; @@ -616,7 +600,7 @@ void sub_8052D44(s16 *ids, Entity *leader, Entity *partner) } } -bool8 sub_8052DC0(Entity *entity) +static bool8 sub_8052DC0(Entity *entity) { return sub_8045888(entity); } @@ -659,14 +643,14 @@ static inline bool32 DislayTutorialMsg(Entity *leader, const struct TutorialFlag str = tutorial->str; DisplayDungeonMessage(NULL, str, TRUE); if (unkFunctionCall) { - sub_80522E8(leader, str); + DisplayDungeonLoggableMessageFalse(leader, str); } return TRUE; } return FALSE; } -void sub_8052DD0(void) +void TryDisplayGeneralTutorialMessage(void) { Entity *leader = GetLeader(); @@ -681,7 +665,7 @@ void sub_8052DD0(void) } } -void HandleOnPickupTutorial(u8 itemId) +void TryDisplayItemPickupTutorialMessage(u8 itemId) { u32 itemCategory = GetItemCategory(itemId); @@ -817,14 +801,14 @@ const u8 *GetCurrentDungeonName(void) } } -void sub_80531A8(void) +void ResetMessageLog(void) { s32 i; gDungeon->unk16 = 0; gDungeon->unkB = 1; for (i = 0; i < MESSAGE_LOG_STRINGS_COUNT; i++) { - gDungeon->messageLogStrings[i].str[0] = 0; + gDungeon->messageLogStrings[i].str[0] = '\0'; gDungeon->messageLogStrings[i].unk0 = 0; gDungeon->messageLogStrings[i].unk1 = 0; gDungeon->messageLogStrings[i].unk2 = 0; diff --git a/src/move_effects_target.c b/src/move_effects_target.c index 10f327ca4..5c3986cb0 100644 --- a/src/move_effects_target.c +++ b/src/move_effects_target.c @@ -2,7 +2,7 @@ #include "move_effects_target.h" #include "code_8045A00.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "code_806CD90.h" #include "code_8077274_1.h" #include "code_808417C.h" @@ -142,7 +142,6 @@ extern void sub_8041EC8(Entity *); extern void sub_8041ED8(Entity *); extern void EntityUpdateStatusSprites(Entity *); extern void sub_8041AF4(Entity *); -extern void TryDisplayDungeonLoggableMessage3(Entity *r1, Entity *r2, u8 *); extern void nullsub_91(Entity *); extern void nullsub_90(Entity *); extern void nullsub_72(Entity *); diff --git a/src/trap.c b/src/trap.c index ce2105c49..3f1b27dcd 100644 --- a/src/trap.c +++ b/src/trap.c @@ -3,7 +3,7 @@ #include "code_803E668.h" #include "code_8045A00.h" -#include "code_80521D0.h" +#include "dungeon_message.h" #include "code_8077274_1.h" #include "code_807CD9C.h" #include "code_808417C.h" @@ -78,7 +78,6 @@ void sub_80421EC(Position *, u32); bool8 sub_8045888(Entity *); u8 sub_8043D10(void); void sub_8068FE0(Entity *, u32, Entity *); -void sub_805239C(Entity *, u8 *); void sub_8045C28(Item *, u8 , u8); void sub_8045BF8(u8 *, Item *); void DealDamageToEntity(Entity *,s16,u32,u32); @@ -88,9 +87,7 @@ void sub_804225C(Entity *, Position *, u8); void sub_8071DA4(Entity *); extern u8 sub_803F428(Position *pos); void sub_806A1E8(Entity *pokemon); -void TryDisplayDungeonLoggableMessage5(Entity *, Position *, u8 *); void sub_8049ED4(void); -void TryDisplayDungeonLoggableMessage3(Entity *pokemon, Entity *target, const char r2[]); u8 sub_803D6FC(void); Entity *sub_8045684(u8, Position *, u8); extern void sub_807DF38(Entity *pokemon, Entity *target, Position *pos, u32, u8 moveType, s16); @@ -574,7 +571,7 @@ void HandlePitfallTrap(Entity *pokemon, Entity *target, Tile *tile) TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80F970C); // $m0 fell into the pitfall! } else { - sub_805239C(pokemon,*gUnknown_80F970C); // $m0 fell into the pitfall! + DisplayDungeonLoggableMessageTrue(pokemon,*gUnknown_80F970C); // $m0 fell into the pitfall! } sub_8068FE0(target,0x215,pokemon); }