summaryrefslogtreecommitdiff
path: root/src/easy_chat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/easy_chat.c')
-rw-r--r--src/easy_chat.c38
1 files changed, 23 insertions, 15 deletions
diff --git a/src/easy_chat.c b/src/easy_chat.c
index 05e366420..8e1044591 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -29,7 +29,6 @@
#include "window.h"
#include "constants/easy_chat.h"
#include "constants/event_objects.h"
-#include "constants/flags.h"
#include "constants/lilycove_lady.h"
#include "constants/mauville_old_man.h"
#include "constants/songs.h"
@@ -2024,7 +2023,7 @@ static int sub_811B368(void)
{
if (sEasyChatScreen->type == EASY_CHAT_TYPE_BARD_SONG)
{
- PlaySE(SE_HAZURE);
+ PlaySE(SE_FAILURE);
return 0;
}
else
@@ -2039,7 +2038,7 @@ static int sub_811B394(void)
u16 easyChatWord = sub_811F578(sub_811B940());
if (sub_811BF88(easyChatWord))
{
- PlaySE(SE_HAZURE);
+ PlaySE(SE_FAILURE);
return 0;
}
else
@@ -2538,7 +2537,7 @@ u8 sub_811BBBC(void)
return sEasyChatScreen->unk_0c;
}
-void sub_811BBC8(u8 *arg0, u8 *arg1)
+static void sub_811BBC8(s8 *arg0, s8 *arg1)
{
*arg0 = sEasyChatScreen->unk_10;
*arg1 = sEasyChatScreen->unk_11;
@@ -2794,7 +2793,7 @@ static bool8 sub_811BFA4(void)
DeactivateAllTextPrinters();
sub_811CF64();
sub_811CF04();
- CpuFastFill(0, (void *)VRAM + 0x1000000, 0x400);
+ CpuFastFill(0, (void *)OAM, OAM_SIZE);
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gEasyChatWindow_Gfx, 0, 0, 0);
@@ -2828,8 +2827,12 @@ static bool8 sub_811BFA4(void)
else
{
sub_811DE5C(0, 0, 0, 0);
- SetGpuReg(REG_OFFSET_WININ, WIN_RANGE(0, 63));
- SetGpuReg(REG_OFFSET_WINOUT, WIN_RANGE(0, 59));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0
+ | WINOUT_WIN01_BG1
+ | WINOUT_WIN01_BG3
+ | WINOUT_WIN01_OBJ
+ | WINOUT_WIN01_CLR);
ShowBg(3);
ShowBg(1);
ShowBg(2);
@@ -4526,18 +4529,18 @@ static void sub_811E30C(void)
x = var0 * 13;
x = x * 8 + 28;
y = var1 * 16 + 96;
- sub_811E34C(x, y);
+ sub_811E34C((u8)x, (u8)y);
}
static void sub_811E34C(u8 x, u8 y)
{
- if (sUnknown_0203A11C->unk2E4)
- {
- sUnknown_0203A11C->unk2E4->pos1.x = x;
- sUnknown_0203A11C->unk2E4->pos1.y = y;
- sUnknown_0203A11C->unk2E4->pos2.x = 0;
- sUnknown_0203A11C->unk2E4->data[0] = 0;
- }
+ if (!sUnknown_0203A11C->unk2E4)
+ return;
+
+ sUnknown_0203A11C->unk2E4->pos1.x = (s16)x;
+ sUnknown_0203A11C->unk2E4->pos1.y = (s16)y;
+ sUnknown_0203A11C->unk2E4->pos2.x = 0;
+ sUnknown_0203A11C->unk2E4->data[0] = 0;
}
static void sub_811E380(void)
@@ -5269,12 +5272,17 @@ void InitEasyChatPhrases(void)
gSaveBlock1Ptr->mail[i].words[j] = 0xFFFF;
}
+#ifndef UBFIX
// BUG: This is supposed to clear 64 bits, but this loop is clearing 64 bytes.
// However, this bug has no resulting effect on gameplay because only the
// Mauville old man data is corrupted, which is initialized directly after
// this function is called when starting a new game.
for (i = 0; i < 64; i++)
gSaveBlock1Ptr->additionalPhrases[i] = 0;
+#else
+ for (i = 0; i < ARRAY_COUNT(gSaveBlock1Ptr->additionalPhrases); i++)
+ gSaveBlock1Ptr->additionalPhrases[i] = 0;
+#endif
}
static bool8 sub_811F28C(void)