summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorengineer124 <47598039+engineer124@users.noreply.github.com>2024-01-09 09:17:22 +1100
committerGitHub <noreply@github.com>2024-01-08 17:17:22 -0500
commite146d7bc2642633f8b09357c115014a3dfca59da (patch)
tree904ff9d7b8b4d6035b49d3809a0870d1088a219b
parentc1a499c3ae7b0b6b54c66a651784d65c93a613e8 (diff)
Introduce Face Reaction Enum (#1586)
* face reactions * cleanup * cleanup fake match * PR Review * while I'm here * mask reaction * small fix * Small cleanup * oops
-rw-r--r--include/functions.h2
-rw-r--r--include/z64message.h64
-rw-r--r--src/code/z_face_reaction.c125
-rw-r--r--src/overlays/actors/ovl_En_Ani/z_en_ani.c2
-rw-r--r--src/overlays/actors/ovl_En_Cs/z_en_cs.c8
-rw-r--r--src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c9
-rw-r--r--src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c4
-rw-r--r--src/overlays/actors/ovl_En_Du/z_en_du.c6
-rw-r--r--src/overlays/actors/ovl_En_Fu/z_en_fu.c16
-rw-r--r--src/overlays/actors/ovl_En_Ge1/z_en_ge1.c18
-rw-r--r--src/overlays/actors/ovl_En_Go2/z_en_go2.c8
-rw-r--r--src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c14
-rw-r--r--src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c12
-rw-r--r--src/overlays/actors/ovl_En_Hs2/z_en_hs2.c3
-rw-r--r--src/overlays/actors/ovl_En_Hy/z_en_hy.c2
-rw-r--r--src/overlays/actors/ovl_En_In/z_en_in.c12
-rw-r--r--src/overlays/actors/ovl_En_Ko/z_en_ko.c12
-rw-r--r--src/overlays/actors/ovl_En_Kz/z_en_kz.c6
-rw-r--r--src/overlays/actors/ovl_En_Ma1/z_en_ma1.c6
-rw-r--r--src/overlays/actors/ovl_En_Ma2/z_en_ma2.c6
-rw-r--r--src/overlays/actors/ovl_En_Md/z_en_md.c6
-rw-r--r--src/overlays/actors/ovl_En_Mk/z_en_mk.c2
-rw-r--r--src/overlays/actors/ovl_En_Mm/z_en_mm.c4
-rw-r--r--src/overlays/actors/ovl_En_Ms/z_en_ms.c2
-rw-r--r--src/overlays/actors/ovl_En_Mu/z_en_mu.c6
-rw-r--r--src/overlays/actors/ovl_En_Nb/z_en_nb.c4
-rw-r--r--src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c12
-rw-r--r--src/overlays/actors/ovl_En_Ru1/z_en_ru1.c2
-rw-r--r--src/overlays/actors/ovl_En_Sa/z_en_sa.c6
-rw-r--r--src/overlays/actors/ovl_En_Skj/z_en_skj.c4
-rw-r--r--src/overlays/actors/ovl_En_Ssh/z_en_ssh.c2
-rw-r--r--src/overlays/actors/ovl_En_Ta/z_en_ta.c12
-rw-r--r--src/overlays/actors/ovl_En_Tg/z_en_tg.c8
-rw-r--r--src/overlays/actors/ovl_En_Tk/z_en_tk.c7
-rw-r--r--src/overlays/actors/ovl_En_Toryo/z_en_toryo.c2
-rw-r--r--src/overlays/actors/ovl_En_Zl4/z_en_zl4.c6
-rw-r--r--src/overlays/actors/ovl_En_Zo/z_en_zo.c7
37 files changed, 302 insertions, 125 deletions
diff --git a/include/functions.h b/include/functions.h
index 62ca9d500..fbead7bab 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -775,7 +775,7 @@ void SfxSource_UpdateAll(PlayState* play);
void SfxSource_PlaySfxAtFixedWorldPos(PlayState* play, Vec3f* worldPos, s32 duration, u16 sfxId);
u16 QuestHint_GetSariaTextId(PlayState* play);
u16 QuestHint_GetNaviTextId(PlayState* play);
-u16 Text_GetFaceReaction(PlayState* play, u32 reactionSet);
+u16 MaskReaction_GetTextId(PlayState* play, u32 maskReactionSet);
void CutsceneFlags_UnsetAll(PlayState* play);
void CutsceneFlags_Set(PlayState* play, s16 flag);
void CutsceneFlags_Unset(PlayState* play, s16 flag);
diff --git a/include/z64message.h b/include/z64message.h
index 6c0c91bfc..9b42e6084 100644
--- a/include/z64message.h
+++ b/include/z64message.h
@@ -82,6 +82,70 @@ typedef enum {
/* 0x37 */ MSGMODE_PAUSED // Causes the message system to do nothing until external code sets a new message mode or calls a public function
} MessageMode;
+typedef enum MaskReactionSet {
+ /* 0x00 */ MASK_REACTION_SET_CARPENTER_BOSS,
+ /* 0x01 */ MASK_REACTION_SET_CARPENTER_1,
+ /* 0x02 */ MASK_REACTION_SET_CARPENTER_2,
+ /* 0x03 */ MASK_REACTION_SET_CARPENTER_3,
+ /* 0x04 */ MASK_REACTION_SET_CARPENTER_4,
+ /* 0x05 */ MASK_REACTION_SET_HYRULIAN_GUARD,
+ /* 0x06 */ MASK_REACTION_SET_HEISHI4_1,
+ /* 0x07 */ MASK_REACTION_SET_HEISHI4_2,
+ /* 0x08 */ MASK_REACTION_SET_CUCCO_LADY,
+ /* 0x09 */ MASK_REACTION_SET_CARPENTERS_SON,
+ /* 0x0A */ MASK_REACTION_SET_KAKARIKO_ROOF_MAN,
+ /* 0x0B */ MASK_REACTION_SET_WINDMILL_MAN,
+ /* 0x0C */ MASK_REACTION_SET_12, // Unused
+ /* 0x0D */ MASK_REACTION_SET_CURSED_SKULLTULA_MAN,
+ /* 0x0E */ MASK_REACTION_SET_DAMPE,
+ /* 0x0F */ MASK_REACTION_SET_GRAVEYARD_KID,
+ /* 0x10 */ MASK_REACTION_SET_SARIA,
+ /* 0x11 */ MASK_REACTION_SET_MIDO,
+ /* 0x12 */ MASK_REACTION_SET_FADO,
+ /* 0x13 */ MASK_REACTION_SET_KOKIRI_1,
+ /* 0x14 */ MASK_REACTION_SET_KOKIRI_2,
+ /* 0x15 */ MASK_REACTION_SET_SKULL_KID,
+ /* 0x16 */ MASK_REACTION_SET_ZELDA,
+ /* 0x17 */ MASK_REACTION_SET_MALON,
+ /* 0x18 */ MASK_REACTION_SET_TALON,
+ /* 0x19 */ MASK_REACTION_SET_INGO,
+ /* 0x1A */ MASK_REACTION_SET_LAKESIDE_PROFESSOR,
+ /* 0x1B */ MASK_REACTION_SET_MAGIC_BEAN_SALESMAN,
+ /* 0x1C */ MASK_REACTION_SET_RUNNING_MAN,
+ /* 0x1D */ MASK_REACTION_SET_ZORA,
+ /* 0x1E */ MASK_REACTION_SET_KING_ZORA,
+ /* 0x1F */ MASK_REACTION_SET_RUTO,
+ /* 0x20 */ MASK_REACTION_SET_GORON,
+ /* 0x21 */ MASK_REACTION_SET_DARUNIA,
+ /* 0x22 */ MASK_REACTION_SET_GERUDO_WHITE,
+ /* 0x23 */ MASK_REACTION_SET_NABOORU,
+ /* 0x24 */ MASK_REACTION_SET_DANCING_COUPLE,
+ /* 0x25 */ MASK_REACTION_SET_37, // ENHY_TYPE_AOB
+ /* 0x26 */ MASK_REACTION_SET_38, // ENHY_TYPE_COB
+ /* 0x27 */ MASK_REACTION_SET_39, // ENHY_TYPE_AHG_2
+ /* 0x28 */ MASK_REACTION_SET_40, // ENHY_TYPE_BOJ_3
+ /* 0x29 */ MASK_REACTION_SET_41, // ENHY_TYPE_AHG_4
+ /* 0x2A */ MASK_REACTION_SET_42, // ENHY_TYPE_BOJ_5
+ /* 0x2B */ MASK_REACTION_SET_43, // ENHY_TYPE_BBA
+ /* 0x2C */ MASK_REACTION_SET_44, // ENHY_TYPE_BJI_7
+ /* 0x2D */ MASK_REACTION_SET_45, // ENHY_TYPE_CNE_8
+ /* 0x2E */ MASK_REACTION_SET_46, // ENHY_TYPE_BOJ_9
+ /* 0x2F */ MASK_REACTION_SET_47, // ENHY_TYPE_BOJ_10
+ /* 0x30 */ MASK_REACTION_SET_48, // ENHY_TYPE_CNE_11
+ /* 0x31 */ MASK_REACTION_SET_49, // ENHY_TYPE_BOJ_12
+ /* 0x32 */ MASK_REACTION_SET_50, // ENHY_TYPE_AHG_13
+ /* 0x33 */ MASK_REACTION_SET_51, // ENHY_TYPE_BOJ_14
+ /* 0x34 */ MASK_REACTION_SET_52, // ENHY_TYPE_BJI_15
+ /* 0x35 */ MASK_REACTION_SET_53, // ENHY_TYPE_BOJ_16
+ /* 0x36 */ MASK_REACTION_SET_54, // ENHY_TYPE_AHG_17
+ /* 0x37 */ MASK_REACTION_SET_55, // ENHY_TYPE_BOB_18
+ /* 0x38 */ MASK_REACTION_SET_56, // ENHY_TYPE_BJI_19
+ /* 0x39 */ MASK_REACTION_SET_57, // ENHY_TYPE_AHG_20
+ /* 0x3A */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1,
+ /* 0x3B */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_2,
+ /* 0x3C */ MASK_REACTION_SET_MAX
+} MaskReactionSet;
+
typedef enum {
/* 0 */ TEXT_STATE_NONE,
/* 1 */ TEXT_STATE_DONE_HAS_NEXT,
diff --git a/src/code/z_face_reaction.c b/src/code/z_face_reaction.c
index 2dbd56df2..a06bd4dc8 100644
--- a/src/code/z_face_reaction.c
+++ b/src/code/z_face_reaction.c
@@ -1,70 +1,189 @@
#include "global.h"
-u16 sReactionTextIds[][PLAYER_MASK_MAX] = {
+u16 sMaskReactionSetTextIds[MASK_REACTION_SET_MAX][PLAYER_MASK_MAX] = {
+ // MASK_REACTION_SET_CARPENTER_BOSS
{ 0x0000, 0x7124, 0x7127, 0x7126, 0x7125, 0x7127, 0x7124, 0x7125, 0x7127 },
+
+ // MASK_REACTION_SET_CARPENTER_1
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
+
+ // MASK_REACTION_SET_CARPENTER_2
{ 0x0000, 0x7128, 0x712B, 0x7128, 0x7128, 0x7129, 0x7128, 0x712B, 0x7128 },
+
+ // MASK_REACTION_SET_CARPENTER_3
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
+
+ // MASK_REACTION_SET_CARPENTER_4
{ 0x0000, 0x7128, 0x7129, 0x712B, 0x7128, 0x7128, 0x7128, 0x7129, 0x7128 },
+
+ // MASK_REACTION_SET_HYRULIAN_GUARD
{ 0x0000, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712F },
+
+ // MASK_REACTION_SET_HEISHI4_1
{ 0x0000, 0x712C, 0x712C, 0x712C, 0x712E, 0x712C, 0x712C, 0x712F, 0x712F },
+
+ // MASK_REACTION_SET_HEISHI4_2
{ 0x0000, 0x712C, 0x712C, 0x712C, 0x712F, 0x712C, 0x712C, 0x712F, 0x712F },
+
+ // MASK_REACTION_SET_CUCCO_LADY
{ 0x0000, 0x7130, 0x7132, 0x7133, 0x7130, 0x7130, 0x7131, 0x7132, 0x7131 },
+
+ // MASK_REACTION_SET_CARPENTERS_SON
{ 0x0000, 0x7134, 0x7137, 0x7135, 0x7134, 0x7136, 0x7135, 0x7134, 0x7135 },
+
+ // MASK_REACTION_SET_KAKARIKO_ROOF_MAN
{ 0x0000, 0x7138, 0x713A, 0x7138, 0x7139, 0x713A, 0x7138, 0x7139, 0x713B },
+
+ // MASK_REACTION_SET_WINDMILL_MAN
{ 0x0000, 0x7144, 0x7146, 0x7144, 0x7146, 0x7147, 0x7145, 0x7145, 0x7147 },
+
+ // MASK_REACTION_SET_12
{ 0x0000, 0x7148, 0x7149, 0x7149, 0x714A, 0x714A, 0x714B, 0x7149, 0x714B },
+
+ // MASK_REACTION_SET_CURSED_SKULLTULA_MAN
{ 0x0000, 0x714C, 0x714D, 0x714C, 0x714C, 0x714E, 0x714C, 0x714E, 0x714F },
+
+ // MASK_REACTION_SET_DAMPE
{ 0x0000, 0x7150, 0x7153, 0x7152, 0x7150, 0x7151, 0x7153, 0x7153, 0x7151 },
+
+ // MASK_REACTION_SET_GRAVEYARD_KID
{ 0x0000, 0x7155, 0x7156, 0x7157, 0x7154, 0x7156, 0x7156, 0x7156, 0x7156 },
+
+ // MASK_REACTION_SET_SARIA
{ 0x0000, 0x715A, 0x7159, 0x715B, 0x715A, 0x715A, 0x7158, 0x7158, 0x715B },
+
+ // MASK_REACTION_SET_MIDO
{ 0x0000, 0x715E, 0x715D, 0x715D, 0x715F, 0x715E, 0x715C, 0x715C, 0x715D },
+
+ // MASK_REACTION_SET_FADO
{ 0x0000, 0x7163, 0x7162, 0x7160, 0x7163, 0x7160, 0x7161, 0x7161, 0x7160 },
+
+ // MASK_REACTION_SET_KOKIRI_1
{ 0x0000, 0x7164, 0x7166, 0x7164, 0x7167, 0x7164, 0x7164, 0x7164, 0x7167 },
+
+ // MASK_REACTION_SET_KOKIRI_2
{ 0x0000, 0x716B, 0x7169, 0x7168, 0x716B, 0x716A, 0x716B, 0x716B, 0x716A },
+
+ // MASK_REACTION_SET_SKULL_KID
{ 0x0000, 0x716C, 0x716D, 0x716F, 0x716C, 0x716E, 0x716E, 0x716E, 0x716F },
+
+ // MASK_REACTION_SET_ZELDA
{ 0x0000, 0x7171, 0x7173, 0x7170, 0x7172, 0x0000, 0x0000, 0x0000, 0x0000 },
+
+ // MASK_REACTION_SET_MALON
{ 0x0000, 0x7176, 0x7177, 0x7174, 0x7174, 0x7175, 0x7174, 0x7174, 0x7177 },
+
+ // MASK_REACTION_SET_TALON
{ 0x0000, 0x7178, 0x7179, 0x7179, 0x717B, 0x717A, 0x717B, 0x717A, 0x717B },
+
+ // MASK_REACTION_SET_INGO
{ 0x0000, 0x717D, 0x717C, 0x717C, 0x717D, 0x717F, 0x717C, 0x717E, 0x717D },
+
+ // MASK_REACTION_SET_LAKESIDE_PROFESSOR
{ 0x0000, 0x7183, 0x7181, 0x7180, 0x7183, 0x7182, 0x7183, 0x7181, 0x7183 },
+
+ // MASK_REACTION_SET_MAGIC_BEAN_SALESMAN
{ 0x0000, 0x7184, 0x7186, 0x7185, 0x7186, 0x7184, 0x7187, 0x7186, 0x7184 },
+
+ // MASK_REACTION_SET_RUNNING_MAN
{ 0x0000, 0x71A4, 0x71A6, 0x71A5, 0x0000, 0x71A6, 0x71A6, 0x71A6, 0x71A7 },
+
+ // MASK_REACTION_SET_ZORA
{ 0x0000, 0x7188, 0x7188, 0x7189, 0x7188, 0x7189, 0x718B, 0x718A, 0x7189 },
+
+ // MASK_REACTION_SET_KING_ZORA
{ 0x0000, 0x718C, 0x718C, 0x718D, 0x718C, 0x718E, 0x718F, 0x718D, 0x718C },
+
+ // MASK_REACTION_SET_RUTO
{ 0x0000, 0x7190, 0x7190, 0x7191, 0x7192, 0x7191, 0x7193, 0x7190, 0x7191 },
+
+ // MASK_REACTION_SET_GORON
{ 0x0000, 0x7196, 0x7194, 0x7195, 0x7196, 0x7197, 0x7194, 0x7196, 0x7195 },
+
+ // MASK_REACTION_SET_DARUNIA
{ 0x0000, 0x7199, 0x719A, 0x7198, 0x7198, 0x719A, 0x719A, 0x719B, 0x7198 },
+
+ // MASK_REACTION_SET_GERUDO_WHITE
{ 0x0000, 0x719D, 0x719C, 0x719E, 0x719D, 0x719D, 0x719C, 0x719F, 0x719E },
+
+ // MASK_REACTION_SET_NABOORU
{ 0x0000, 0x71A1, 0x71A0, 0x71A1, 0x71A2, 0x71A1, 0x71A2, 0x71A3, 0x71A2 },
+
+ // MASK_REACTION_SET_DANCING_COUPLE
{ 0x0000, 0x711C, 0x711E, 0x711C, 0x711F, 0x711E, 0x711C, 0x711D, 0x711F },
+
+ // MASK_REACTION_SET_37
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7107, 0x7105, 0x7106, 0x7107, 0x7107 },
+
+ // MASK_REACTION_SET_38
{ 0x0000, 0x7107, 0x7105, 0x7107, 0x7107, 0x7106, 0x7107, 0x7107, 0x7105 },
+
+ // MASK_REACTION_SET_39
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
+
+ // MASK_REACTION_SET_40
{ 0x0000, 0x7113, 0x7113, 0x7113, 0x7113, 0x7113, 0x7113, 0x7111, 0x7113 },
+
+ // MASK_REACTION_SET_41
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
+
+ // MASK_REACTION_SET_42
{ 0x0000, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7113 },
+
+ // MASK_REACTION_SET_43
{ 0x0000, 0x7101, 0x7100, 0x7102, 0x7103, 0x7101, 0x7100, 0x7102, 0x7103 },
+
+ // MASK_REACTION_SET_44
{ 0x0000, 0x7100, 0x7102, 0x7100, 0x7100, 0x7100, 0x7100, 0x7100, 0x7102 },
+
+ // MASK_REACTION_SET_45
{ 0x0000, 0x710A, 0x7109, 0x7109, 0x710A, 0x710B, 0x7108, 0x7109, 0x710B },
+
+ // MASK_REACTION_SET_46
{ 0x0000, 0x7117, 0x7112, 0x7113, 0x7110, 0x710C, 0x7117, 0x710E, 0x7112 },
+
+ // MASK_REACTION_SET_47
{ 0x0000, 0x710D, 0x710F, 0x710C, 0x7112, 0x710D, 0x710C, 0x710C, 0x710F },
+
+ // MASK_REACTION_SET_48
{ 0x0000, 0x710A, 0x7109, 0x711A, 0x710A, 0x7109, 0x7108, 0x710B, 0x7109 },
+
+ // MASK_REACTION_SET_49
{ 0x0000, 0x710C, 0x710F, 0x7113, 0x7110, 0x710D, 0x7112, 0x7116, 0x710D },
+
+ // MASK_REACTION_SET_50
{ 0x0000, 0x7115, 0x7114, 0x7114, 0x7115, 0x7114, 0x7114, 0x7116, 0x7117 },
+
+ // MASK_REACTION_SET_51
{ 0x0000, 0x7113, 0x710F, 0x7113, 0x7110, 0x710C, 0x711A, 0x710D, 0x7112 },
+
+ // MASK_REACTION_SET_52
{ 0x0000, 0x7101, 0x7102, 0x7103, 0x7101, 0x7100, 0x7100, 0x7102, 0x7100 },
+
+ // MASK_REACTION_SET_53
{ 0x0000, 0x7112, 0x710E, 0x7112, 0x710E, 0x710D, 0x7112, 0x710E, 0x710F },
+
+ // MASK_REACTION_SET_54
{ 0x0000, 0x7142, 0x7141, 0x7142, 0x7143, 0x7140, 0x7140, 0x7141, 0x7143 },
+
+ // MASK_REACTION_SET_55
{ 0x0000, 0x713C, 0x713D, 0x713D, 0x713E, 0x713E, 0x713F, 0x713D, 0x713F },
+
+ // MASK_REACTION_SET_56
{ 0x0000, 0x7101, 0x7102, 0x7103, 0x7101, 0x7100, 0x7100, 0x7102, 0x7100 },
+
+ // MASK_REACTION_SET_57
{ 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 },
+
+ // MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x7105, 0x7105, 0x7107, 0x7107 },
+
+ // MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_2
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 },
};
-u16 Text_GetFaceReaction(PlayState* play, u32 reactionSet) {
+u16 MaskReaction_GetTextId(PlayState* play, u32 maskReactionSet) {
u8 currentMask = Player_GetMask(play);
- return sReactionTextIds[reactionSet][currentMask];
+ return sMaskReactionSetTextIds[maskReactionSet][currentMask];
}
diff --git a/src/overlays/actors/ovl_En_Ani/z_en_ani.c b/src/overlays/actors/ovl_En_Ani/z_en_ani.c
index ad130ae8a..bf9f2fe92 100644
--- a/src/overlays/actors/ovl_En_Ani/z_en_ani.c
+++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.c
@@ -137,7 +137,7 @@ void func_809B05F0(EnAni* this, PlayState* play) {
}
void func_809B064C(EnAni* this, PlayState* play) {
- u16 textId = Text_GetFaceReaction(play, 0xA);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_KAKARIKO_ROOF_MAN);
s16 yawDiff;
if (textId == 0) {
diff --git a/src/overlays/actors/ovl_En_Cs/z_en_cs.c b/src/overlays/actors/ovl_En_Cs/z_en_cs.c
index 8df53cd5f..f1c63040e 100644
--- a/src/overlays/actors/ovl_En_Cs/z_en_cs.c
+++ b/src/overlays/actors/ovl_En_Cs/z_en_cs.c
@@ -206,9 +206,9 @@ s32 EnCs_GetTalkState(EnCs* this, PlayState* play) {
return talkState;
}
-s32 EnCs_GetTextID(EnCs* this, PlayState* play) {
+s32 EnCs_GetTextId(EnCs* this, PlayState* play) {
Player* player = GET_PLAYER(play);
- s32 textId = Text_GetFaceReaction(play, 15);
+ s32 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_GRAVEYARD_KID);
if (GET_ITEMGETINF(ITEMGETINF_3A)) {
if (textId == 0) {
@@ -253,8 +253,8 @@ void EnCs_HandleTalking(EnCs* this, PlayState* play) {
Actor_GetScreenPos(play, &this->actor, &sp2A, &sp28);
if ((sp2A >= 0) && (sp2A <= 320) && (sp28 >= 0) && (sp28 <= 240) &&
- (Actor_OfferTalk(&this->actor, play, 100.0f))) {
- this->actor.textId = EnCs_GetTextID(this, play);
+ Actor_OfferTalk(&this->actor, play, 100.0f)) {
+ this->actor.textId = EnCs_GetTextId(this, play);
}
}
}
diff --git a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
index 0949f4a24..bf5cb0613 100644
--- a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
+++ b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
@@ -226,7 +226,12 @@ s32 EnDaikuKakariko_GetTalkState(EnDaikuKakariko* this, PlayState* play) {
}
void EnDaikuKakariko_HandleTalking(EnDaikuKakariko* this, PlayState* play) {
- static s32 maskReactionSets[] = { 1, 2, 3, 4 };
+ static s32 sMaskReactionSets[] = {
+ MASK_REACTION_SET_CARPENTER_1,
+ MASK_REACTION_SET_CARPENTER_2,
+ MASK_REACTION_SET_CARPENTER_3,
+ MASK_REACTION_SET_CARPENTER_4,
+ };
s16 sp26;
s16 sp24;
@@ -239,7 +244,7 @@ void EnDaikuKakariko_HandleTalking(EnDaikuKakariko* this, PlayState* play) {
if ((sp26 >= 0) && (sp26 <= 320) && (sp24 >= 0) && (sp24 <= 240) && (this->talkState == 0) &&
(Actor_OfferTalk(&this->actor, play, 100.0f) == 1)) {
- this->actor.textId = Text_GetFaceReaction(play, maskReactionSets[this->actor.params & 3]);
+ this->actor.textId = MaskReaction_GetTextId(play, sMaskReactionSets[this->actor.params & 3]);
if (this->actor.textId == 0) {
switch (this->actor.params & 3) {
diff --git a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
index 2b7925985..7aee878b7 100644
--- a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
+++ b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
@@ -199,8 +199,8 @@ void EnDivingGame_Talk(EnDivingGame* this, PlayState* play) {
}
}
} else {
- if (Text_GetFaceReaction(play, 0x1D) != 0) {
- this->actor.textId = Text_GetFaceReaction(play, 0x1D);
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_ZORA) != 0) {
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_ZORA);
this->unk_292 = TEXT_STATE_DONE;
} else {
switch (this->state) {
diff --git a/src/overlays/actors/ovl_En_Du/z_en_du.c b/src/overlays/actors/ovl_En_Du/z_en_du.c
index 32a67aeb9..ea124d043 100644
--- a/src/overlays/actors/ovl_En_Du/z_en_du.c
+++ b/src/overlays/actors/ovl_En_Du/z_en_du.c
@@ -97,10 +97,10 @@ void EnDu_SetupAction(EnDu* this, EnDuActionFunc actionFunc) {
}
u16 EnDu_GetTextId(PlayState* play, Actor* actor) {
- u16 reaction = Text_GetFaceReaction(play, 0x21);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_DARUNIA);
- if (reaction != 0) {
- return reaction;
+ if (textId != 0) {
+ return textId;
}
if (CUR_UPG_VALUE(UPG_STRENGTH) != 0) {
if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) {
diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
index 9579e1f41..aac5b16ae 100644
--- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c
+++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
@@ -100,14 +100,14 @@ void EnFu_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider);
}
-s32 func_80A1D94C(EnFu* this, PlayState* play, u16 textID, EnFuActionFunc actionFunc) {
+s32 func_80A1D94C(EnFu* this, PlayState* play, u16 textId, EnFuActionFunc actionFunc) {
s16 yawDiff;
if (Actor_TalkOfferAccepted(&this->actor, play)) {
this->actionFunc = actionFunc;
return true;
}
- this->actor.textId = textID;
+ this->actor.textId = textId;
yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
if ((ABS(yawDiff) < 0x2301) && (this->actor.xzDistToPlayer < 100.0f)) {
@@ -131,16 +131,16 @@ void func_80A1DA04(EnFu* this, PlayState* play) {
}
void EnFu_WaitChild(EnFu* this, PlayState* play) {
- u16 textID = Text_GetFaceReaction(play, 0xB);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_WINDMILL_MAN);
- if (textID == 0) {
- textID = GET_EVENTCHKINF(EVENTCHKINF_67) ? 0x5033 : 0x5032;
+ if (textId == 0) {
+ textId = GET_EVENTCHKINF(EVENTCHKINF_67) ? 0x5033 : 0x5032;
}
- // if ACTOR_FLAG_TALK is set and textID is 0x5033, change animation
+ // if ACTOR_FLAG_TALK is set and textId is 0x5033, change animation
// if func_80A1D94C returns 1, actionFunc is set to func_80A1DA04
- if (func_80A1D94C(this, play, textID, func_80A1DA04)) {
- if (textID == 0x5033) {
+ if (func_80A1D94C(this, play, textId, func_80A1DA04)) {
+ if (textId == 0x5033) {
Animation_Change(&this->skelanime, &gWindmillManPlayAndMoveHeadAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gWindmillManPlayAndMoveHeadAnim), ANIMMODE_ONCE, -4.0f);
}
diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
index 8d35a171c..e3c1297b1 100644
--- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
+++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
@@ -304,13 +304,13 @@ void EnGe1_WatchForAndSensePlayer(EnGe1* this, PlayState* play) {
}
void EnGe1_GetReaction_ValleyFloor(EnGe1* this, PlayState* play) {
- u16 reactionText = Text_GetFaceReaction(play, 0x22);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_GERUDO_WHITE);
- if (reactionText == 0) {
- reactionText = 0x6019;
+ if (textId == 0) {
+ textId = 0x6019;
}
- EnGe1_SetTalkAction(this, play, reactionText, 100.0f, EnGe1_ChooseActionFromTextId);
+ EnGe1_SetTalkAction(this, play, textId, 100.0f, EnGe1_ChooseActionFromTextId);
}
// Gerudo Training Ground Guard functions
@@ -463,15 +463,13 @@ void EnGe1_Talk_GateGuard(EnGe1* this, PlayState* play) {
}
void EnGe1_GetReaction_GateGuard(EnGe1* this, PlayState* play) {
- u16 reactionText;
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_GERUDO_WHITE);
- reactionText = Text_GetFaceReaction(play, 0x22);
-
- if (reactionText == 0) {
- reactionText = 0x6069;
+ if (textId == 0) {
+ textId = 0x6069;
}
- if (EnGe1_SetTalkAction(this, play, reactionText, 100.0f, EnGe1_Talk_GateGuard)) {
+ if (EnGe1_SetTalkAction(this, play, textId, 100.0f, EnGe1_Talk_GateGuard)) {
this->animFunc = EnGe1_CueUpAnimation;
this->animation = &gGerudoWhiteDismissiveAnim;
Animation_Change(&this->skelAnime, &gGerudoWhiteDismissiveAnim, 1.0f, 0.0f,
diff --git a/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/src/overlays/actors/ovl_En_Go2/z_en_go2.c
index 66e434c82..a765f96a6 100644
--- a/src/overlays/actors/ovl_En_Go2/z_en_go2.c
+++ b/src/overlays/actors/ovl_En_Go2/z_en_go2.c
@@ -736,10 +736,10 @@ s16 EnGo2_UpdateTalkStateGoronDmtFairyHint(PlayState* play, EnGo2* this) {
u16 EnGo2_GetTextId(PlayState* play, Actor* thisx) {
EnGo2* this = (EnGo2*)thisx;
- u16 faceReaction = Text_GetFaceReaction(play, 0x20);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_GORON);
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
} else {
switch (this->actor.params & 0x1F) {
case GORON_CITY_ROLLING_BIG:
@@ -773,7 +773,7 @@ u16 EnGo2_GetTextId(PlayState* play, Actor* thisx) {
}
}
#ifdef AVOID_UB
- return faceReaction; // faceReaction is always in the v0 return value register at this point
+ return textId; // textId is always in the v0 return value register at this point
#endif
}
diff --git a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
index bb26cdd01..69dab09e3 100644
--- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
+++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
@@ -184,8 +184,8 @@ void func_80A531E4(EnHeishi2* this, PlayState* play) {
void func_80A53278(EnHeishi2* this, PlayState* play) {
this->unk_30B = 0;
this->unk_30E = 0;
- if (Text_GetFaceReaction(play, 5) != 0) {
- this->actor.textId = Text_GetFaceReaction(play, 5);
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD) != 0) {
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD);
this->unk_30B = 1;
this->unk_300 = TEXT_STATE_DONE;
this->actionFunc = func_80A5475C;
@@ -372,9 +372,9 @@ void func_80A5399C(EnHeishi2* this, PlayState* play) {
this->unk_300 = TEXT_STATE_EVENT;
this->unk_30E = 0;
}
- if (Text_GetFaceReaction(play, 5) != 0) {
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD) != 0) {
if (var == 0) {
- this->actor.textId = Text_GetFaceReaction(play, 5);
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD);
this->unk_30B = 1;
this->unk_300 = TEXT_STATE_DONE;
this->unk_30E = 0;
@@ -395,8 +395,8 @@ void func_80A53AD4(EnHeishi2* this, PlayState* play) {
s16 yawDiff;
SkelAnime_Update(&this->skelAnime);
- if (Text_GetFaceReaction(play, 5) != 0) {
- this->actor.textId = Text_GetFaceReaction(play, 5);
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD) != 0) {
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD);
} else {
this->actor.textId = 0x200E;
}
@@ -683,7 +683,7 @@ void func_80A5475C(EnHeishi2* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
- if (Text_GetFaceReaction(play, 5) != 0) {
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD) != 0) {
if (this->unk_30B == 0) {
if (this->type == 2) {
this->actionFunc = func_80A53278;
diff --git a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
index 5f1713993..0b4007e85 100644
--- a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
+++ b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
@@ -33,7 +33,7 @@ ActorInit En_Heishi4_InitVars = {
/**/ EnHeishi4_Draw,
};
-static u32 sFaceReactionSets[] = { 6, 7 };
+static u32 sMaskReactionSets[] = { MASK_REACTION_SET_HEISHI4_1, MASK_REACTION_SET_HEISHI4_2 };
static ColliderCylinderInit sCylinderInit = {
{
@@ -125,8 +125,8 @@ void func_80A563BC(EnHeishi4* this, PlayState* play) {
if (reactionOffset >= 3) {
reactionOffset = 1;
}
- if (Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]) != 0) {
- this->actor.textId = Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]);
+ if (MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]) != 0) {
+ this->actor.textId = MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]);
this->unk_2B4 = 1;
this->actionFunc = func_80A56B40;
} else {
@@ -185,8 +185,8 @@ void func_80A56614(EnHeishi4* this, PlayState* play) {
if (reactionOffset >= 3) {
reactionOffset = 1;
}
- if (Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]) != 0) {
- this->actor.textId = Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]);
+ if (MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]) != 0) {
+ this->actor.textId = MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]);
this->unk_2B4 = 1;
this->actionFunc = func_80A56B40;
return;
@@ -300,7 +300,7 @@ void func_80A56B40(EnHeishi4* this, PlayState* play) {
if (reactionOffset >= 3) {
reactionOffset = 1;
}
- if (Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]) != 0) {
+ if (MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]) != 0) {
if (this->unk_2B4 == 0) {
if ((this->type == HEISHI4_AT_KAKRIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) {
this->actionFunc = func_80A563BC;
diff --git a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
index 27e8ee2d3..1c065cd1c 100644
--- a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
+++ b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
@@ -95,9 +95,8 @@ void func_80A6F164(EnHs2* this, PlayState* play) {
}
void func_80A6F1A4(EnHs2* this, PlayState* play) {
- u16 textId;
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CARPENTERS_SON);
- textId = Text_GetFaceReaction(play, 9);
if (textId == 0) {
textId = 0x5069;
}
diff --git a/src/overlays/actors/ovl_En_Hy/z_en_hy.c b/src/overlays/actors/ovl_En_Hy/z_en_hy.c
index 9440a0e49..7cf7d6c32 100644
--- a/src/overlays/actors/ovl_En_Hy/z_en_hy.c
+++ b/src/overlays/actors/ovl_En_Hy/z_en_hy.c
@@ -417,7 +417,7 @@ void func_80A6F7CC(EnHy* this, PlayState* play, s32 getItemId) {
u16 EnHy_GetTextId(PlayState* play, Actor* thisx) {
Player* player = GET_PLAYER(play);
EnHy* this = (EnHy*)thisx;
- u16 textId = Text_GetFaceReaction(play, (this->actor.params & 0x7F) + 37);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_37 + (this->actor.params & 0x7F));
if (textId != 0) {
if ((this->actor.params & 0x7F) == ENHY_TYPE_BOJ_5) {
diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c
index 5c35ebec5..c872d17a4 100644
--- a/src/overlays/actors/ovl_En_In/z_en_in.c
+++ b/src/overlays/actors/ovl_En_In/z_en_in.c
@@ -124,10 +124,10 @@ u16 EnIn_GetTextIdChild(PlayState* play) {
u16 EnIn_GetTextIdAdult(PlayState* play) {
Player* player = GET_PLAYER(play);
- u16 faceReaction = Text_GetFaceReaction(play, 25);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_INGO);
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
}
if (GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
if (IS_DAY) {
@@ -176,10 +176,10 @@ u16 EnIn_GetTextIdAdult(PlayState* play) {
}
u16 EnIn_GetTextId(PlayState* play, Actor* thisx) {
- u16 faceReaction = Text_GetFaceReaction(play, 25);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_INGO);
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
}
if (!LINK_IS_ADULT) {
return EnIn_GetTextIdChild(play);
diff --git a/src/overlays/actors/ovl_En_Ko/z_en_ko.c b/src/overlays/actors/ovl_En_Ko/z_en_ko.c
index 83720cf91..659a641e4 100644
--- a/src/overlays/actors/ovl_En_Ko/z_en_ko.c
+++ b/src/overlays/actors/ovl_En_Ko/z_en_ko.c
@@ -489,23 +489,23 @@ u16 EnKo_GetTextIdAdult(PlayState* play, Actor* thisx) {
}
u16 EnKo_GetTextId(PlayState* play, Actor* thisx) {
- u16 faceReaction;
+ u16 textId;
EnKo* this = (EnKo*)thisx;
if (ENKO_TYPE == ENKO_TYPE_CHILD_0 || ENKO_TYPE == ENKO_TYPE_CHILD_2 || ENKO_TYPE == ENKO_TYPE_CHILD_3 ||
ENKO_TYPE == ENKO_TYPE_CHILD_4 || ENKO_TYPE == ENKO_TYPE_CHILD_7 || ENKO_TYPE == ENKO_TYPE_CHILD_8 ||
ENKO_TYPE == ENKO_TYPE_CHILD_11) {
- faceReaction = Text_GetFaceReaction(play, 0x13);
+ textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_KOKIRI_1);
}
if (ENKO_TYPE == ENKO_TYPE_CHILD_1 || ENKO_TYPE == ENKO_TYPE_CHILD_5 || ENKO_TYPE == ENKO_TYPE_CHILD_6 ||
ENKO_TYPE == ENKO_TYPE_CHILD_9 || ENKO_TYPE == ENKO_TYPE_CHILD_10) {
- faceReaction = Text_GetFaceReaction(play, 0x14);
+ textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_KOKIRI_2);
}
if (ENKO_TYPE == ENKO_TYPE_CHILD_FADO) {
- faceReaction = Text_GetFaceReaction(play, 0x12);
+ textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_FADO);
}
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
}
if (LINK_IS_ADULT) {
return EnKo_GetTextIdAdult(play, thisx);
diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c
index 1ebc9d0f3..837f86f87 100644
--- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c
+++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c
@@ -102,10 +102,10 @@ u16 EnKz_GetTextIdAdult(PlayState* play, EnKz* this) {
u16 EnKz_GetTextId(PlayState* play, Actor* thisx) {
EnKz* this = (EnKz*)thisx;
- u16 reactionText = Text_GetFaceReaction(play, 0x1E);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_KING_ZORA);
- if (reactionText != 0) {
- return reactionText;
+ if (textId != 0) {
+ return textId;
}
if (LINK_IS_ADULT) {
diff --git a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
index ae75dfbd0..a0da7b0cd 100644
--- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
+++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
@@ -72,10 +72,10 @@ static AnimationFrameCountInfo sAnimationInfo[] = {
};
u16 EnMa1_GetTextId(PlayState* play, Actor* thisx) {
- u16 faceReaction = Text_GetFaceReaction(play, 0x17);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_MALON);
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
}
if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
return 0x204A;
diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
index c8bb77753..626529198 100644
--- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
+++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
@@ -66,10 +66,10 @@ static AnimationFrameCountInfo sAnimationInfo[] = {
};
u16 EnMa2_GetTextId(PlayState* play, Actor* thisx) {
- u16 faceReaction = Text_GetFaceReaction(play, 23);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_MALON);
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
}
if (GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
return 0x2056;
diff --git a/src/overlays/actors/ovl_En_Md/z_en_md.c b/src/overlays/actors/ovl_En_Md/z_en_md.c
index 1f65d106d..5b9a9c5cd 100644
--- a/src/overlays/actors/ovl_En_Md/z_en_md.c
+++ b/src/overlays/actors/ovl_En_Md/z_en_md.c
@@ -385,10 +385,10 @@ s16 func_80AAAC78(EnMd* this, PlayState* play) {
}
u16 EnMd_GetTextIdKokiriForest(PlayState* play, EnMd* this) {
- u16 reactionText = Text_GetFaceReaction(play, 0x11);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_MIDO);
- if (reactionText != 0) {
- return reactionText;
+ if (textId != 0) {
+ return textId;
}
this->unk_208 = 0;
diff --git a/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/src/overlays/actors/ovl_En_Mk/z_en_mk.c
index b81a9a88a..7660cf4bc 100644
--- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c
+++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c
@@ -264,7 +264,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) {
}
}
} else {
- this->actor.textId = Text_GetFaceReaction(play, 0x1A);
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_LAKESIDE_PROFESSOR);
if (this->actor.textId == 0) {
this->actor.textId = 0x4018;
diff --git a/src/overlays/actors/ovl_En_Mm/z_en_mm.c b/src/overlays/actors/ovl_En_Mm/z_en_mm.c
index 034cfed9f..794fc0f83 100644
--- a/src/overlays/actors/ovl_En_Mm/z_en_mm.c
+++ b/src/overlays/actors/ovl_En_Mm/z_en_mm.c
@@ -259,9 +259,7 @@ s32 func_80AADAA0(EnMm* this, PlayState* play) {
s32 EnMm_GetTextId(EnMm* this, PlayState* play) {
Player* player = GET_PLAYER(play);
- s32 textId;
-
- textId = Text_GetFaceReaction(play, 0x1C);
+ s32 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_RUNNING_MAN);
if (GET_ITEMGETINF(ITEMGETINF_3B)) {
if (textId == 0) {
diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/src/overlays/actors/ovl_En_Ms/z_en_ms.c
index 725e497f4..7b54272a3 100644
--- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c
+++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c
@@ -58,7 +58,7 @@ static InitChainEntry sInitChain[] = {
};
void EnMs_SetOfferText(EnMs* this, PlayState* play) {
- this->actor.textId = Text_GetFaceReaction(play, 0x1B);
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_MAGIC_BEAN_SALESMAN);
if (this->actor.textId == 0) {
if (BEANS_BOUGHT >= 10) {
this->actor.textId = 0x406B;
diff --git a/src/overlays/actors/ovl_En_Mu/z_en_mu.c b/src/overlays/actors/ovl_En_Mu/z_en_mu.c
index 64e5b9ef1..3ed4b6e71 100644
--- a/src/overlays/actors/ovl_En_Mu/z_en_mu.c
+++ b/src/overlays/actors/ovl_En_Mu/z_en_mu.c
@@ -100,10 +100,10 @@ void EnMu_Interact(EnMu* this, PlayState* play) {
u16 EnMu_GetTextId(PlayState* play, Actor* thisx) {
EnMu* this = (EnMu*)thisx;
- u16 faceReaction = Text_GetFaceReaction(play, this->actor.params + 0x3A);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1 + this->actor.params);
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
}
return this->defaultTextId;
}
diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.c b/src/overlays/actors/ovl_En_Nb/z_en_nb.c
index dc4991b46..dd1df6de7 100644
--- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c
+++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c
@@ -1303,9 +1303,9 @@ void func_80AB3B04(EnNb* this, PlayState* play) {
this->action = NB_ACTION_30;
} else {
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3;
- this->actor.textId = Text_GetFaceReaction(play, 0x23);
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_NABOORU);
- if ((this->actor.textId) == 0) {
+ if (this->actor.textId == 0) {
this->actor.textId = 0x6026;
}
diff --git a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
index c97c7f33e..163d3ecf2 100644
--- a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
+++ b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
@@ -99,7 +99,7 @@ void EnNiwLady_Destroy(Actor* thisx, PlayState* play) {
void EnNiwLady_ChoseAnimation(EnNiwLady* this, PlayState* play, s32 arg2) {
f32 frames;
- if (Text_GetFaceReaction(play, 8) != 0) {
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY) != 0) {
arg2 = 8;
}
if (arg2 != this->unk_270) {
@@ -241,8 +241,8 @@ void func_80ABA244(EnNiwLady* this, PlayState* play) {
phi_s1 = 9;
}
this->actor.textId = sMissingCuccoTextIds[phi_s1];
- if (Text_GetFaceReaction(play, 8) != 0) {
- this->actor.textId = Text_GetFaceReaction(play, 8);
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY) != 0) {
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY);
this->unk_262 = TEXT_STATE_DONE;
}
if ((this->unk_26C != 0) && (phi_s1 != 9)) {
@@ -258,7 +258,7 @@ void func_80ABA244(EnNiwLady* this, PlayState* play) {
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ this->actor.talk_message ☆☆ %x\n" VT_RST, this->actor.textId);
osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ this->message_end_code ☆☆ %d\n" VT_RST, this->unk_262);
osSyncPrintf("\n\n");
- if (Text_GetFaceReaction(play, 8) == 0) {
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY) == 0) {
if (this->actor.textId == 0x503C) {
Sfx_PlaySfxCentered(NA_SE_SY_ERROR);
this->unk_26C = 2;
@@ -476,8 +476,8 @@ void func_80ABAD38(EnNiwLady* this, PlayState* play) {
void func_80ABAD7C(EnNiwLady* this, PlayState* play) {
this->actor.textId = 0x503D;
- if (Text_GetFaceReaction(play, 8) != 0) {
- this->actor.textId = Text_GetFaceReaction(play, 8);
+ if (MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY) != 0) {
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY);
}
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE)) {
this->unk_26E = 8;
diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
index d8d0666a9..a2132969b 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
@@ -2128,7 +2128,7 @@ void func_80AEFD38(EnRu1* this, PlayState* play) {
s32 func_80AEFDC0(EnRu1* this, PlayState* play) {
if (!Actor_TalkOfferAccepted(&this->actor, play)) {
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3;
- this->actor.textId = Text_GetFaceReaction(play, 0x1F);
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_RUTO);
if (this->actor.textId == 0) {
this->actor.textId = 0x402C;
}
diff --git a/src/overlays/actors/ovl_En_Sa/z_en_sa.c b/src/overlays/actors/ovl_En_Sa/z_en_sa.c
index 52a925a7d..2994a7a7f 100644
--- a/src/overlays/actors/ovl_En_Sa/z_en_sa.c
+++ b/src/overlays/actors/ovl_En_Sa/z_en_sa.c
@@ -138,10 +138,10 @@ s16 func_80AF5560(EnSa* this, PlayState* play) {
u16 EnSa_GetTextId(PlayState* play, Actor* thisx) {
EnSa* this = (EnSa*)thisx;
- u16 reaction = Text_GetFaceReaction(play, 0x10);
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_SARIA);
- if (reaction != 0) {
- return reaction;
+ if (textId != 0) {
+ return textId;
}
if (CHECK_QUEST_ITEM(QUEST_SONG_SARIA)) {
return 0x10AD;
diff --git a/src/overlays/actors/ovl_En_Skj/z_en_skj.c b/src/overlays/actors/ovl_En_Skj/z_en_skj.c
index a2035106e..9f7f5c08e 100644
--- a/src/overlays/actors/ovl_En_Skj/z_en_skj.c
+++ b/src/overlays/actors/ovl_En_Skj/z_en_skj.c
@@ -927,7 +927,7 @@ void EnSkj_WaitInRange(EnSkj* this, PlayState* play) {
player->stateFlags2 |= PLAYER_STATE2_23;
if (GET_ITEMGETINF(ITEMGETINF_16)) {
if (GET_ITEMGETINF(ITEMGETINF_39)) {
- this->textId = Text_GetFaceReaction(play, 0x15);
+ this->textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_SKULL_KID);
if (this->textId == 0) {
this->textId = 0x1020;
}
@@ -936,7 +936,7 @@ void EnSkj_WaitInRange(EnSkj* this, PlayState* play) {
} else if (Player_GetMask(play) == PLAYER_MASK_SKULL) {
this->textId = 0x101B;
} else {
- this->textId = Text_GetFaceReaction(play, 0x15);
+ this->textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_SKULL_KID);
}
Actor_OfferTalk(&this->actor, play, EnSkj_GetItemXzRange(this));
}
diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
index f3714039d..424e6bb25 100644
--- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
+++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
@@ -694,7 +694,7 @@ void EnSsh_Idle(EnSsh* this, PlayState* play) {
}
EnSsh_Bob(this, play);
if ((this->unkTimer == 0) && (this->animTimer == 0)) {
- this->actor.textId = Text_GetFaceReaction(play, 0xD);
+ this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CURSED_SKULLTULA_MAN);
if (this->actor.textId == 0) {
if (this->actor.params == ENSSH_FATHER) {
if (gSaveContext.save.info.inventory.gsTokens >= 50) {
diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
index 4501b2613..1468ffc36 100644
--- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c
+++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c
@@ -21,8 +21,6 @@
#define TALON_STATE_FLAG_RAISING_HANDS (1 << 8)
#define TALON_STATE_FLAG_RESTORE_BGM_ON_DESTROY (1 << 9)
-#define TALON_FACE_REACTION_SET 24
-
typedef enum {
/* 0 */ TALON_EYE_INDEX_OPEN,
/* 1 */ TALON_EYE_INDEX_HALF,
@@ -97,7 +95,7 @@ void EnTa_SetupAction(EnTa* this, EnTaActionFunc actionFunc, EnTaAnimFunc animFu
}
void EnTa_SetTextForTalkInLonLonHouse(EnTa* this, PlayState* play) {
- u16 faceReaction = Text_GetFaceReaction(play, TALON_FACE_REACTION_SET);
+ u16 maskReactionTextId = MaskReaction_GetTextId(play, MASK_REACTION_SET_TALON);
// Check if cucco game was just finished
if (GET_EVENTINF(EVENTINF_CUCCO_GAME_FINISHED)) {
@@ -115,7 +113,7 @@ void EnTa_SetTextForTalkInLonLonHouse(EnTa* this, PlayState* play) {
this->actor.textId = 0x2085;
}
CLEAR_EVENTINF(EVENTINF_CUCCO_GAME_WON);
- } else if (faceReaction == 0) {
+ } else if (maskReactionTextId == 0) {
if (GET_INFTABLE(INFTABLE_TALKED_TO_TALON_IN_RANCH_HOUSE)) {
if (GET_ITEMGETINF(ITEMGETINF_TALON_BOTTLE)) {
// Play cucco game or buy milk
@@ -129,7 +127,7 @@ void EnTa_SetTextForTalkInLonLonHouse(EnTa* this, PlayState* play) {
this->actor.textId = 0x207E;
}
} else {
- this->actor.textId = faceReaction;
+ this->actor.textId = maskReactionTextId;
}
}
@@ -1086,14 +1084,14 @@ void EnTa_TalkAfterCuccoGameWon(EnTa* this, PlayState* play) {
}
void EnTa_IdleSittingInLonLonHouse(EnTa* this, PlayState* play) {
- u16 faceReaction = Text_GetFaceReaction(play, TALON_FACE_REACTION_SET);
+ u16 maskReactionTextId = MaskReaction_GetTextId(play, MASK_REACTION_SET_TALON);
EnTa_SetTextForTalkInLonLonHouse(this, play);
if (EnTa_RequestTalk(this, play, this->actor.textId)) {
Actor_PlaySfx(&this->actor, NA_SE_VO_TA_SURPRISE);
- if (faceReaction != 0) {
+ if (maskReactionTextId != 0) {
EnTa_SetupActionWithWakeUpAnimation(this, EnTa_TalkGeneralInLonLonHouse);
} else {
SET_INFTABLE(INFTABLE_TALKED_TO_TALON_IN_RANCH_HOUSE);
diff --git a/src/overlays/actors/ovl_En_Tg/z_en_tg.c b/src/overlays/actors/ovl_En_Tg/z_en_tg.c
index af02dda0f..144e4332b 100644
--- a/src/overlays/actors/ovl_En_Tg/z_en_tg.c
+++ b/src/overlays/actors/ovl_En_Tg/z_en_tg.c
@@ -52,13 +52,11 @@ ActorInit En_Tg_InitVars = {
u16 EnTg_GetTextId(PlayState* play, Actor* thisx) {
EnTg* this = (EnTg*)thisx;
- u16 faceReaction;
+ u16 maskReactionTextId = MaskReaction_GetTextId(play, MASK_REACTION_SET_DANCING_COUPLE);
u32 textId;
- // If the player is wearing a mask, return a special reaction text
- faceReaction = Text_GetFaceReaction(play, 0x24);
- if (faceReaction != 0) {
- return faceReaction;
+ if (maskReactionTextId != 0) {
+ return maskReactionTextId;
}
if (play->sceneId == SCENE_KAKARIKO_VILLAGE) {
if (this->nextDialogue % 2 != 0) {
diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c
index 7ed29d145..bd0049b5b 100644
--- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c
+++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c
@@ -330,11 +330,10 @@ s32 EnTk_Orient(EnTk* this, PlayState* play) {
}
u16 EnTk_GetTextId(PlayState* play, Actor* thisx) {
- u16 faceReaction;
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_DAMPE);
- faceReaction = Text_GetFaceReaction(play, 14);
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
}
if (GET_INFTABLE(INFTABLE_D9)) {
diff --git a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
index ad3d446e9..4d57b44c5 100644
--- a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
+++ b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
@@ -253,7 +253,7 @@ u32 EnToryo_ReactToExchangeItem(EnToryo* this, PlayState* play) {
}
s32 EnToryo_GetTextId(EnToryo* this, PlayState* play) {
- s32 textId = Text_GetFaceReaction(play, 0);
+ s32 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CARPENTER_BOSS);
s32 ret = textId;
if (textId == 0) {
diff --git a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
index 8a66a202a..95ba59deb 100644
--- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
+++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
@@ -199,12 +199,12 @@ void EnZl4_SetActiveCamMove(PlayState* play, s16 index) {
}
u16 EnZl4_GetTextId(PlayState* play, Actor* thisx) {
- u16 faceReaction = Text_GetFaceReaction(play, 22);
+ u16 maskReactionTextId = MaskReaction_GetTextId(play, MASK_REACTION_SET_ZELDA);
u16 stoneCount;
s16 textId;
- if (faceReaction != 0) {
- return faceReaction;
+ if (maskReactionTextId != 0) {
+ return maskReactionTextId;
}
stoneCount = 0;
diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.c b/src/overlays/actors/ovl_En_Zo/z_en_zo.c
index e88310d9d..429f5d57f 100644
--- a/src/overlays/actors/ovl_En_Zo/z_en_zo.c
+++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.c
@@ -357,11 +357,10 @@ void EnZo_SpawnSplashes(EnZo* this) {
}
u16 EnZo_GetTextId(PlayState* play, Actor* thisx) {
- u16 faceReaction;
+ u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_ZORA);
- faceReaction = Text_GetFaceReaction(play, 29);
- if (faceReaction != 0) {
- return faceReaction;
+ if (textId != 0) {
+ return textId;
}
switch (thisx->params & 0x3F) {