summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authorearthcrafterman <banddstudios@gmail.com>2022-05-29 11:46:47 -0400
committerGitHub <noreply@github.com>2022-05-29 11:46:47 -0400
commit4669235f62bf387062b63f5cd8253d18784c31b9 (patch)
treefe4ddd22149099735fb757c4221cf1fcdd30e20a /soh/src/code
parent78b3c1ae47b3177072fbd1f728a301494ba8396b (diff)
Spammable kaepora (#354)
* Players can now spam their way through Kaepora Gaebora dialogue * Turned the Owl Text Inversion into a toggle Instead of replacing the Kokiri Owl Text at boot, a new Text Entry is added for it * Attempt to make it compile on Linux * Added multilingual support * Commented the code to clear up confusion
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/z_message_PAL.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/soh/src/code/z_message_PAL.c b/soh/src/code/z_message_PAL.c
index 33bc9a95e..84cf20e71 100644
--- a/soh/src/code/z_message_PAL.c
+++ b/soh/src/code/z_message_PAL.c
@@ -272,6 +272,13 @@ void Message_FindMessage(GlobalContext* globalCtx, u16 textId) {
const char** languageSegmentTable;
Font* font;
const char* seg;
+ u16 bufferId = textId;
+ // Use the better owl message if better owl is enabled
+ if (CVar_GetS32("gBetterOwl", 0) != 0 && (bufferId == 0x2066 || bufferId == 0x607B ||
+ bufferId == 0x10C2 || bufferId == 0x10C6 || bufferId == 0x206A))
+ {
+ bufferId = 0x71B3;
+ }
if (gSaveContext.language == LANGUAGE_GER)
messageTableEntry = sGerMessageEntryTablePtr;
@@ -287,7 +294,7 @@ void Message_FindMessage(GlobalContext* globalCtx, u16 textId) {
while (messageTableEntry->textId != 0xFFFF) {
font = &globalCtx->msgCtx.font;
- if (messageTableEntry->textId == textId) {
+ if (messageTableEntry->textId == bufferId) {
foundSeg = messageTableEntry->segment;
font->charTexBuf[0] = messageTableEntry->typePos;
@@ -298,14 +305,14 @@ void Message_FindMessage(GlobalContext* globalCtx, u16 textId) {
// "Message found!!!"
osSyncPrintf(" メッセージが,見つかった!!! = %x "
"(data=%x) (data0=%x) (data1=%x) (data2=%x) (data3=%x)\n",
- textId, font->msgOffset, font->msgLength, foundSeg, seg, nextSeg);
+ bufferId, font->msgOffset, font->msgLength, foundSeg, seg, nextSeg);
return;
}
messageTableEntry++;
}
// "Message not found!!!"
- osSyncPrintf(" メッセージが,見つからなかった!!! = %x\n", textId);
+ osSyncPrintf(" メッセージが,見つからなかった!!! = %x\n", bufferId);
font = &globalCtx->msgCtx.font;
messageTableEntry = sNesMessageEntryTablePtr;