DisplayDungeonMenuMessage

This commit is contained in:
DizzyEggg 2024-10-20 14:34:20 +02:00
parent 570250ebb9
commit 68dcdcef5b
15 changed files with 135 additions and 201 deletions

View File

@ -5,109 +5,6 @@
.text
thumb_func_start sub_8052C68
sub_8052C68:
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x28
adds r4, r0, 0
adds r7, r1, 0
mov r8, r2
lsls r3, 16
lsrs r6, r3, 16
movs r0, 0xA
bl sub_8052740
movs r0, 0x2
movs r1, 0
bl sub_803EAF0
movs r0, 0
bl sub_8052210
movs r5, 0
str r5, [sp, 0x14]
str r5, [sp, 0x18]
ldr r0, _08052D3C
ldr r1, [r0]
ldr r2, _08052D40
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08052CE6
adds r2, 0x6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08052CE6
cmp r4, 0
beq _08052CE6
movs r1, 0
ldrsh r0, [r4, r1]
ldrb r1, [r4, 0x2]
bl IsPokemonDialogueSpriteAvail
lsls r0, 24
cmp r0, 0
beq _08052CE6
movs r2, 0
ldrsh r0, [r4, r2]
bl GetDialogueSpriteDataPtr
str r0, [sp, 0x14]
ldr r0, [r0, 0x4]
str r0, [sp, 0x18]
add r1, sp, 0x14
movs r2, 0
movs r0, 0x2
strh r0, [r1, 0x8]
movs r0, 0x9
strh r0, [r1, 0xA]
ldrb r0, [r4, 0x2]
strb r0, [r1, 0xC]
adds r0, r1, 0
strb r2, [r0, 0xD]
strb r2, [r0, 0xE]
adds r5, r0, 0
_08052CE6:
movs r2, 0x1
negs r2, r2
movs r1, 0
str r1, [sp]
movs r0, 0x3
str r0, [sp, 0x4]
str r1, [sp, 0x8]
str r5, [sp, 0xC]
str r6, [sp, 0x10]
adds r0, r7, 0
mov r3, r8
bl CreateMenuDialogueBoxAndPortrait
add r4, sp, 0x24
_08052D02:
bl DrawDialogueBoxString
movs r0, 0x9
bl sub_803E46C
adds r0, r4, 0
bl sub_80144A4
cmp r0, 0
bne _08052D02
ldr r0, [sp, 0x14]
cmp r0, 0
beq _08052D20
bl CloseFile
_08052D20:
bl sub_8040238
movs r0, 0
movs r1, 0
bl sub_803EAF0
ldr r0, [sp, 0x24]
add sp, 0x28
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08052D3C: .4byte gDungeon
_08052D40: .4byte 0x0001820a
thumb_func_end sub_8052C68
thumb_func_start sub_8052D44
sub_8052D44:
push {r4-r7,lr}
@ -240,7 +137,7 @@ _08052E46:
movs r0, 0
adds r1, r4, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
adds r0, r5, 0
adds r1, r4, 0
bl sub_80522E8
@ -269,7 +166,7 @@ _08052E88:
movs r0, 0
adds r1, r4, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
adds r0, r5, 0
adds r1, r4, 0
bl sub_80522E8
@ -349,7 +246,7 @@ _08052F22:
ldr r1, [r5, 0x4]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _08052F74
.align 2, 0
_08052F48: .4byte gSleepSeedTutorial
@ -369,7 +266,7 @@ _08052F4C:
ldr r1, [r5, 0x4]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_08052F74:
pop {r4,r5}
pop {r0}
@ -390,7 +287,7 @@ sub_8052F80:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _08052FB0
.align 2, 0
_08052F9C: .4byte gDungeon
@ -400,7 +297,7 @@ _08052FA4:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_08052FB0:
pop {r0}
bx r0

View File

@ -4914,7 +4914,7 @@ _0806414E:
ldr r1, [r0]
movs r0, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
adds r3, r0, 0
b _08064162
.align 2, 0
@ -6817,7 +6817,7 @@ _08065062:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _08065088
ldr r0, _08065094
@ -6846,7 +6846,7 @@ sub_806509C:
ldr r1, [r0]
movs r0, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _080650B8
movs r0, 0
@ -7001,7 +7001,7 @@ sub_80651D0:
ldr r1, [r0]
movs r0, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _080651F4
bl GetLeaderActionContainer
@ -7025,7 +7025,7 @@ sub_80651FC:
ldr r1, [r0]
movs r0, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
adds r5, r0, 0
cmp r5, 0x1
bne _08065248
@ -8730,7 +8730,7 @@ _08065FFE:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _08066194
.align 2, 0
_0806600C: .4byte 0x0000065d

View File

@ -341,7 +341,7 @@ _08068BB2:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _08068BD0
.align 2, 0
_08068BC0: .4byte gUnknown_80FE168
@ -350,7 +350,7 @@ _08068BC4:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_08068BD0:
pop {r4-r7}
pop {r0}
@ -653,7 +653,7 @@ _08068E1C:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
add r4, sp, 0x3C
_08068E34:
add r0, sp, 0x214
@ -709,7 +709,7 @@ _08068E8E:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _08068E34
_08068EA2:
@ -1071,7 +1071,7 @@ _08069104:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
adds r4, r0, 0
cmp r4, 0x1
bne _080691E0
@ -1079,7 +1079,7 @@ _08069104:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
ldr r0, [r5]
strb r4, [r0, 0x4]
ldr r0, [r5]
@ -1107,7 +1107,7 @@ _080691B4:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _080691E0
.align 2, 0
_080691C4: .4byte gUnknown_80FE2D0

View File

@ -1109,14 +1109,14 @@ _08067708:
mov r1, sp
_08067716:
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _0806772A
_0806771E:
ldr r0, _08067738
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_0806772A:
add sp, 0x12C
pop {r3,r4}
@ -1190,7 +1190,7 @@ sub_8067794:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _0806786C
.align 2, 0
_080677B0: .4byte gCannotFarewell
@ -1257,7 +1257,7 @@ _08067834:
movs r0, 0
adds r1, r5, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _0806786C
ldr r4, _0806787C
@ -1276,7 +1276,7 @@ _08067834:
movs r0, 0
adds r1, r6, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_0806786C:
add sp, 0x40
pop {r4-r7}
@ -1869,7 +1869,7 @@ _08067D20:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _08067D32
b _08067ED8

View File

@ -202,7 +202,7 @@ _080728D4:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_08072902:
movs r2, 0x1
str r2, [sp, 0xCC]
@ -387,7 +387,7 @@ _08072A50:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
mov r0, r9
mov r1, sp
movs r2, 0x1

View File

@ -856,7 +856,7 @@ _0807ED3A:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _0807EF32
.align 2, 0
_0807ED48: .4byte gDungeon
@ -1100,7 +1100,7 @@ _0807EF04:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_0807EF32:
add sp, 0x1C
pop {r3-r5}
@ -1180,7 +1180,7 @@ sub_807EF84:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _0807EFEE
.align 2, 0
_0807EFD0: .4byte 0xffff0000
@ -1194,7 +1194,7 @@ _0807EFE2:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_0807EFEE:
add sp, 0x4
pop {r4}
@ -1244,7 +1244,7 @@ _0807F036:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
beq _0807F04E
b _0807F158
@ -1378,7 +1378,7 @@ _0807F134:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_0807F158:
add sp, 0x10
pop {r3-r5}
@ -1440,7 +1440,7 @@ _0807F1CE:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
beq _0807F204
_0807F1E6:
@ -1466,7 +1466,7 @@ _0807F204:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
movs r0, 0x2
b _0807F31C
.align 2, 0
@ -1588,7 +1588,7 @@ _0807F2F8:
ldr r1, [r0]
mov r0, sp
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
_0807F31A:
movs r0, 0
_0807F31C:

View File

@ -350,7 +350,7 @@ _08084484:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
beq _080844A4
b _080845D4
@ -399,7 +399,7 @@ _080844F0:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _080845D4
.align 2, 0
_080844FC: .4byte gDungeon
@ -421,7 +421,7 @@ _08084514:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
ldr r0, _0808453C
b _0808455E
.align 2, 0
@ -432,14 +432,14 @@ _08084540:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _080845D4
ldr r0, _080845B4
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
ldr r0, _080845B8
_0808455E:
ldr r4, [r0]
@ -460,14 +460,14 @@ _08084582:
movs r0, 0
adds r1, r4, 0
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _080845C4
ldr r0, _080845C0
ldr r1, [r0]
movs r0, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
adds r1, r0, 0
cmp r1, 0x1
bne _08084582
@ -488,7 +488,7 @@ _080845C4:
ldr r1, [r0]
movs r0, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _08084582
_080845D4:
@ -608,7 +608,7 @@ _080846B4:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
b _08084768
.align 2, 0
_080846C0: .4byte gUnknown_80FA500
@ -617,7 +617,7 @@ _080846C4:
ldr r1, [r0]
movs r0, 0
movs r2, 0x1
bl PrintFieldMessage
bl DisplayDungeonMessage
mov r1, r8
movs r2, 0x2
ldrsh r0, [r1, r2]
@ -651,14 +651,14 @@ _08084716:
movs r0, 0
ldr r1, [r4]
movs r2, 0x1
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _08084758
ldr r0, _08084754
ldr r1, [r0]
movs r0, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
adds r1, r0, 0
cmp r1, 0x1
bne _08084716
@ -679,7 +679,7 @@ _08084758:
ldr r1, [r0]
movs r0, 0
movs r2, 0
bl PrintYesNoFieldMessage
bl DisplayDungeonYesNoMessage
cmp r0, 0x1
bne _08084716
_08084768:

View File

@ -335,7 +335,7 @@ extern void sub_803F27C(u8);
extern void sub_807E7FC(u8);
extern void sub_80095CC(u32, u32);
extern void sub_8081BF4(u8 *r0, u32 r1);
extern void PrintFieldMessage(u32, const u8 *, u32);
extern void DisplayDungeonMessage(u32, const u8 *, u32);
extern bool8 IsLevelResetTo1(u8 dungeon);
extern u8 sub_8099394(u8 *);
extern void sub_8068A84(PokemonStruct1 *pokemon);
@ -516,10 +516,10 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
if (r9) {
gFormatData_202DE30 = gDungeon->unk67B;
if (gFormatData_202DE30 != 0) {
PrintFieldMessage(0, gUnknown_80FEC48, 1);
DisplayDungeonMessage(0, gUnknown_80FEC48, 1);
}
else {
PrintFieldMessage(0, gUnknown_80FEC7C, 1);
DisplayDungeonMessage(0, gUnknown_80FEC7C, 1);
}
}
@ -540,10 +540,10 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
unkStruct_203B480 *mailStr = GetMailatIndex(sp);
if (mailStr->rescuesAllowed) {
gFormatData_202DE30 = mailStr->rescuesAllowed;
PrintFieldMessage(0, gUnknown_81002B8, 1);
DisplayDungeonMessage(0, gUnknown_81002B8, 1);
}
else {
PrintFieldMessage(0, gPtrFinalChanceMessage, 1);
DisplayDungeonMessage(0, gPtrFinalChanceMessage, 1);
}
}
}
@ -820,7 +820,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
gDungeon->unk181e8.unk18218 = 1;
if ((gDungeon->unk10 == 2 || gDungeon->unk10 == 3) && gDungeon->unk6 != 0) {
leader = GetLeader();
PrintFieldMessage(0, gPtrClientFaintedMessage, 1);
DisplayDungeonMessage(0, gPtrClientFaintedMessage, 1);
gDungeon->unk6 = 0;
sub_8083AB0(0x222, leader, leader);
}
@ -1089,7 +1089,7 @@ bool8 sub_8043ED0(bool8 a0)
if (EntityExists(leader)) {
if (!a0) {
strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer);
PrintFieldMessage(0, gUnknown_80F89B4, 1);
DisplayDungeonMessage(0, gUnknown_80F89B4, 1);
}
sub_8042B0C(leader);
sub_8068FE0(leader, 0x21F, leader);
@ -1101,7 +1101,7 @@ bool8 sub_8043ED0(bool8 a0)
if (EntityExists(leader)) {
if (!a0) {
strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer);
PrintFieldMessage(0, gUnknown_80F89D4, 1);
DisplayDungeonMessage(0, gUnknown_80F89D4, 1);
}
sub_8042B0C(leader);
sub_8068FE0(leader, 0x222, leader);
@ -1113,7 +1113,7 @@ bool8 sub_8043ED0(bool8 a0)
if (EntityExists(leader)) {
if (!a0) {
strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer);
PrintFieldMessage(0, gUnknown_80F89D8, 1);
DisplayDungeonMessage(0, gUnknown_80F89D8, 1);
}
sub_8042B0C(leader);
sub_8068FE0(leader, 0x222, leader);

View File

@ -100,11 +100,11 @@ 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 PrintYesNoFieldMessage(u32, u8 *, u32);
extern s32 DisplayDungeonYesNoMessage(u32, u8 *, u32);
extern void sub_803EAF0(u32, u32);
extern void sub_8044C10(bool8);
Entity *DrawFieldGiveItemMenu(u32, u32);
extern void PrintFieldMessage(u32, u8 *, 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);
@ -819,11 +819,11 @@ bool8 sub_8048950(Entity *param_1,Item *item)
moveID = GetItemMoveID(item->id);
if ((item->flags & ITEM_FLAG_STICKY)) {
PrintFieldMessage(0,*gItemStickyDoesntWorkText,1);
DisplayDungeonMessage(0,*gItemStickyDoesntWorkText,1);
return FALSE;
}
else if (IsHMItem(item->id)) {
PrintFieldMessage(0,*gPtrCantUseInDungeonMessage,1);
DisplayDungeonMessage(0,*gPtrCantUseInDungeonMessage,1);
return FALSE;
}
else
@ -870,13 +870,13 @@ bool8 sub_8048A68(Entity *param_1,Item *item)
PokemonStruct2 *pokemon;
if ((item->flags & ITEM_FLAG_STICKY)) {
PrintFieldMessage(0,*gItemStickyDoesntWorkText,1);
DisplayDungeonMessage(0,*gItemStickyDoesntWorkText,1);
return FALSE;
}
else
{
if (gDungeon->unk65C == 0) {
PrintFieldMessage(0,*gUnknown_80F9BD8,1);
DisplayDungeonMessage(0,*gUnknown_80F9BD8,1);
return FALSE;
}
else
@ -946,7 +946,7 @@ bool32 sub_8048B9C(Entity *entity,Item *param_2)
entityInfo = entity->info;
actionPointer = &(entityInfo->action);
if ((param_2->flags & ITEM_FLAG_STICKY)) {
PrintFieldMessage(0,*gItemStickyDoesntWorkText,1);
DisplayDungeonMessage(0,*gItemStickyDoesntWorkText,1);
return FALSE;
}
else
@ -1011,7 +1011,7 @@ _clear:
if (sub_8062F90(entity2,1,0,0,1) != 0) {
if (bVar2)
{
if (PrintYesNoFieldMessage(0,*gUnknown_80FECA0,1) == 1) {
if (DisplayDungeonYesNoMessage(0,*gUnknown_80FECA0,1) == 1) {
*actionPointer = actionContainer;
sub_8044DF0(entity,0,0x6e);
SetMonsterActionFields(actionPointer,0x2c);

View File

@ -284,7 +284,7 @@ extern void sub_8040238(void);
} while (unkPrintRet != 0); \
}
void PrintFieldMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool8 a2)
void DisplayDungeonMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool8 a2)
{
struct MonPortraitMsg monPortrait, *monPortraitPtr;
s32 chosenMenuIndex;
@ -339,7 +339,7 @@ void PrintFieldMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *st
void sub_80528F4(Entity *a0, const u8 *str)
{
PrintFieldMessage(NULL, str, TRUE);
DisplayDungeonMessage(NULL, str, TRUE);
sub_80522E8(a0, str);
}
@ -481,7 +481,7 @@ void DisplayDungeonDialogue(const struct DungeonDialogueStruct *dialogueInfo)
sub_803E708(8, 9);
}
bool32 PrintYesNoFieldMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool32 defaultYes)
bool32 DisplayDungeonYesNoMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool32 defaultYes)
{
struct MonPortraitMsg monPortrait, *monPortraitPtr;
s32 chosenMenuIndex;
@ -515,7 +515,7 @@ bool32 PrintYesNoFieldMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const
CreateYesNoDialogueBoxAndPortrait_DefaultNo(str, monPortraitPtr, 0x300); // Yes/No - cursor starts at NO
}
PRINT_STRING_WAIT_PRESS(&chosenMenuIndex)
PRINT_STRING_WAIT_PRESS(&chosenMenuIndex);
if (monPortrait.faceFile != NULL) {
CloseFile(monPortrait.faceFile);
@ -530,4 +530,41 @@ bool32 PrintYesNoFieldMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const
return FALSE;
}
s32 DisplayDungeonMenuMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, const MenuItem *menuItems, u16 unkArg)
{
struct MonPortraitMsg monPortrait, *monPortraitPtr;
s32 chosenMenuIndex;
sub_8052740(10);
sub_803EAF0(2, 0);
sub_8052210(0);
monPortraitPtr = NULL;
monPortrait.faceFile = NULL;
monPortrait.faceData = NULL;
if (!gDungeon->unk181e8.blinded
&& !gDungeon->unk181e8.hallucinating
&& monSpriteInfo != NULL
&& IsPokemonDialogueSpriteAvail(monSpriteInfo->species, monSpriteInfo->spriteId))
{
monPortrait.faceFile = GetDialogueSpriteDataPtr(monSpriteInfo->species);
monPortrait.faceData = monPortrait.faceFile->data;
monPortrait.pos.x = 2;
monPortrait.pos.y = 9;
monPortrait.spriteId = monSpriteInfo->spriteId;
monPortrait.flip = FALSE;
monPortrait.unkE = 0;
monPortraitPtr = &monPortrait;
}
CreateMenuDialogueBoxAndPortrait(str, 0, -1, menuItems, NULL, 3, 0, monPortraitPtr, unkArg);
PRINT_STRING_WAIT_PRESS(&chosenMenuIndex);
if (monPortrait.faceFile != NULL) {
CloseFile(monPortrait.faceFile);
}
sub_8040238();
sub_803EAF0(0, 0);
return chosenMenuIndex;
}

View File

@ -432,7 +432,7 @@ void MoltresScreenDarken(void);
void ZapdosDropInEffect(Entity *param_1);
void ZapdosScreenFlash(int param_1);
extern s32 sub_8052C68(u32, const u8 *, const u8 *, u32);
extern s32 DisplayDungeonMenuMessage(u32, const u8 *, const u8 *, u32);
extern void sub_8045C28(Item *, u8 , u8 *);
extern void EnableJirachiWishWarpTile(void);
extern void sub_808BB3C(Position *);
@ -3532,7 +3532,7 @@ void JirachiWish(void)
#else
s32 r0 = 0;
#endif
wishChoice = sub_8052C68(r0,*gUnknown_8105798,gUnknown_810579C,0x705);
wishChoice = DisplayDungeonMenuMessage(r0,*gUnknown_8105798,gUnknown_810579C,0x705);
if (wishChoice >= 1) break;
}
sub_803E708(10,0x46);
@ -4292,7 +4292,7 @@ void CelebiJoinDialogue(void)
case 0:
do
{
menuChoice = sub_8052C68(0,gPtrPurityForestAllowCelebiToJoinText, &gPurityForestAllowCelebiToJoinPrompt,0x701);
menuChoice = DisplayDungeonMenuMessage(0,gPtrPurityForestAllowCelebiToJoinText, &gPurityForestAllowCelebiToJoinPrompt,0x701);
} while (menuChoice < 1);
sub_803E708(10,0x46);
@ -4337,7 +4337,7 @@ void CelebiJoinDialogue(void)
case 1:
do
{
menuChoice = sub_8052C68(0,gPtrPurityForestRefuseCelebiConfirmText, &gPurityForestRefuseCelebiConfirmPrompt,0x701);
menuChoice = DisplayDungeonMenuMessage(0,gPtrPurityForestRefuseCelebiConfirmText, &gPurityForestRefuseCelebiConfirmPrompt,0x701);
} while (menuChoice < 1);
if (menuChoice == 1)
{

View File

@ -55,7 +55,7 @@ struct UnkMenuBitsStruct {
u8 a0_32;
};
extern void PrintFieldMessage(u32, const u8 *, u32);
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);
@ -70,7 +70,7 @@ 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 PrintYesNoFieldMessage(u32, const u8 *, u32);
extern s32 DisplayDungeonYesNoMessage(u32, const u8 *, u32);
bool8 sub_807EF48(void);
void sub_806A2BC(Entity *a0, u8 a1);
bool8 sub_805E874(void);
@ -2663,7 +2663,7 @@ bool8 sub_805EC4C(Entity *a0, u8 a1)
if (IsChargingAnyTwoTurnMove(tileMonster, FALSE)) return FALSE;
if (!sub_8070F80(a0, entityInfo->action.direction)) return FALSE;
if (a1 != 0 && sub_807049C(tileMonster, &a0->pos) && !PrintYesNoFieldMessage(0, gUnknown_8100208, 0)) return FALSE;
if (a1 != 0 && sub_807049C(tileMonster, &a0->pos) && !DisplayDungeonYesNoMessage(0, gUnknown_8100208, 0)) return FALSE;
SetMonsterActionFields(&entityInfo->action, ACTION_WALK);
if (gRealInputs.held & B_BUTTON) {
@ -3200,7 +3200,7 @@ void ShowFieldMenu(u8 a0_, bool8 a1)
}
else {
SetMessageArgument(gAvailablePokemonNames, GetLeader(), 0);
PrintFieldMessage(0, gUnknown_80FDE18, 1);
DisplayDungeonMessage(0, gUnknown_80FDE18, 1);
}
}
r10 = -1;
@ -3516,7 +3516,7 @@ bool8 sub_805FD74(Entity * a0, struct UnkMenuBitsStruct *a1)
gUnknown_202F258 = sub_8060D64(gUnknown_202F248, var_30, var_34, var_28, a0);
if (gUnknown_202F258 == 0) {
PrintFieldMessage(0, gUnknown_80F8B24, 1);
DisplayDungeonMessage(0, gUnknown_80F8B24, 1);
return TRUE;
}

View File

@ -45,8 +45,8 @@ extern u8 *gUnknown_80FA090[];
void sub_8068FE0(Entity *, u32, Entity *);
u8 sub_806B8CC();
bool8 sub_805FBE8(u8 *a0);
extern s32 PrintYesNoFieldMessage(u32, const u8 *, u32);
extern void PrintFieldMessage(u32, const u8 *, u32);
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);
@ -749,7 +749,7 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa
sub_806CE68(entity2, direction);
CopyCyanMonsterNametoBuffer(gAvailablePokemonNames,param_3->id);
if (PrintYesNoFieldMessage(0,*gUnknown_80F9FE8,1) == 0) {
if (DisplayDungeonYesNoMessage(0,*gUnknown_80F9FE8,1) == 0) {
if (param_3->id != MONSTER_JIRACHI) {
SendMessage(entity1,*gUnknown_80FA004);
}
@ -811,9 +811,9 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa
else {
sub_8083D88();
sub_803E708(0xa0,0x46);
if (PrintYesNoFieldMessage(0,*gUnknown_80FA090,1) == 1) {
if (DisplayDungeonYesNoMessage(0,*gUnknown_80FA090,1) == 1) {
while (sub_805FBE8(pokeStruct2->name) == 0) {
PrintFieldMessage(0,*gUnknown_80FA0C8,1);
DisplayDungeonMessage(0,*gUnknown_80FA0C8,1);
}
}
sub_808D9DC(gAvailablePokemonNames,pokeStruct2,0);
@ -823,7 +823,7 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa
SetMessageArgument(gAvailablePokemonNames,leader,0);
sub_8092558(gUnknown_202E628,friendArea);
PlaySound(0xce);
PrintFieldMessage(0,*gUnknown_80FA120,1);
DisplayDungeonMessage(0,*gUnknown_80FA120,1);
}
if (param_3->id == MONSTER_MEW) {
gDungeon->unk4 = 1;
@ -1072,9 +1072,9 @@ bool8 sub_806FDF4(Entity *entity1,Entity *entity2,Entity **entityPtr)
pokeStruct2->unk0 = 0;
}
else {
if (PrintYesNoFieldMessage(0,*gUnknown_80FA090,1) == 1) {
if (DisplayDungeonYesNoMessage(0,*gUnknown_80FA090,1) == 1) {
while (!sub_805FBE8(buffer)) {
PrintFieldMessage(0,*gUnknown_80FA0C8,1);
DisplayDungeonMessage(0,*gUnknown_80FA0C8,1);
}
}
if (flag) {
@ -1082,7 +1082,7 @@ bool8 sub_806FDF4(Entity *entity1,Entity *entity2,Entity **entityPtr)
SetMessageArgument(gAvailablePokemonNames,leader,0);
sub_8092558(gUnknown_202E628,friendArea);
PlaySound(0xce);
PrintFieldMessage(0,*gUnknown_80FA120,1);
DisplayDungeonMessage(0,*gUnknown_80FA120,1);
}
sub_808D9DC(gUnknown_202E088,pokeStruct2,0);
*entityPtr = local_2c;

View File

@ -64,7 +64,7 @@ bool8 sub_80723D0(Entity *, Entity *, u8, u8);
void sub_807218C(Entity *);
void sub_806A2BC(Entity *, u32);
void sub_806A3D4(u8 *, s32, s32, s32);
extern void PrintFieldMessage(u32, u8 *, u32);
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 sub_8042920(struct Entity *r0);
@ -603,7 +603,7 @@ void sub_807218C(Entity *pokemon)
{
strcpy(buffer, *gUnknown_80FCF18);
}
PrintFieldMessage(0, buffer, 1);
DisplayDungeonMessage(0, buffer, 1);
buffer[0] = 0;
@ -642,7 +642,7 @@ void sub_807218C(Entity *pokemon)
}
if(buffer[0])
PrintFieldMessage(0, buffer, 1);
DisplayDungeonMessage(0, buffer, 1);
sub_806A2BC(GetLeader(), 0);
}

View File

@ -20,8 +20,8 @@ extern u8 *gUnknown_8105360[];
extern u8 *gUnknown_81053A8[];
extern u8 *gUnknown_8105434[];
extern s32 PrintYesNoFieldMessage(u32, u8 *, u32);
extern void PrintFieldMessage(u32, u8 *, u32);
extern s32 DisplayDungeonYesNoMessage(u32, u8 *, u32);
extern void DisplayDungeonMessage(u32, u8 *, u32);
extern void sub_80416E0(Position32 *r0, u32, bool8);
extern void sub_80421C0(Entity *, u32);
extern void sub_80855E4(void *);
@ -75,7 +75,7 @@ void sub_8046D20(void)
cVar1 = gDungeon->unk8;
gDungeon->unk8 = sub_8046D70();
if (((gDungeon->unk8 == 1) && (cVar1 == 0)) &&
(PrintYesNoFieldMessage(0, *gUnknown_80FA408, 1) == 1)) {
(DisplayDungeonYesNoMessage(0, *gUnknown_80FA408, 1) == 1)) {
gDungeon->unk4 = 1;
gDungeon->unk11 = 2;
}
@ -145,18 +145,18 @@ void MusicBoxCreation(void)
entity = GetLeader();
sub_80855E4(sub_80861A8);
gDungeon->unk1356C = 1;
PrintFieldMessage(0,*gUnknown_810531C,1);
DisplayDungeonMessage(0,*gUnknown_810531C,1);
sub_803E708(0x3c,0x41);
PrintFieldMessage(0,*gUnknown_8105360,1);
DisplayDungeonMessage(0,*gUnknown_8105360,1);
sub_80869E4(entity,4,10,0);
sub_80416E0(&entity->pixelPos,0x10c,FALSE);
sub_80421C0(entity,0xd7);
sub_803E708(0x3c,0x41);
SetMessageArgument(gAvailablePokemonNames,entity,0);
PrintFieldMessage(0,*gUnknown_81053A8,1);
DisplayDungeonMessage(0,*gUnknown_81053A8,1);
sub_803E708(10,0x41);
PlaySoundEffect(0xd4);
PrintFieldMessage(0,*gUnknown_8105434,1);
DisplayDungeonMessage(0,*gUnknown_8105434,1);
sub_803E708(10,0x41);
sub_804178C(1);
gDungeon->unk1356C = 0;