#ifndef FACE_REACTION_H
#define FACE_REACTION_H

#include "ultra64.h"

struct PlayState;

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_DOG_LADY,
    /* 0x26 */ MASK_REACTION_SET_WOMAN_3,
    /* 0x27 */ MASK_REACTION_SET_MAN_1_BEARD,
    /* 0x28 */ MASK_REACTION_SET_MAN_2_BALD,
    /* 0x29 */ MASK_REACTION_SET_MAN_1_SHAVED_BLACK_SHIRT,
    /* 0x2A */ MASK_REACTION_SET_BEGGAR,
    /* 0x2B */ MASK_REACTION_SET_OLD_WOMAN,
    /* 0x2C */ MASK_REACTION_SET_OLD_MAN,
    /* 0x2D */ MASK_REACTION_SET_YOUNG_WOMAN_BROWN_HAIR,
    /* 0x2E */ MASK_REACTION_SET_MAN_2_MUSTACHE_RED_SHIRT,
    /* 0x2F */ MASK_REACTION_SET_MAN_2_MUSTACHE_BLUE_SHIRT,
    /* 0x30 */ MASK_REACTION_SET_YOUNG_WOMAN_ORANGE_HAIR,
    /* 0x31 */ MASK_REACTION_SET_MAN_2_ALT_MUSTACHE,
    /* 0x32 */ MASK_REACTION_SET_MAN_1_BOWL_CUT_PURPLE_SHIRT,
    /* 0x33 */ MASK_REACTION_SET_MAN_2_BEARD,
    /* 0x34 */ MASK_REACTION_SET_OLD_MAN_BALD_BROWN_ROBE,
    /* 0x35 */ MASK_REACTION_SET_MAN_2_MUSTACHE_WHITE_SHIRT,
    /* 0x36 */ MASK_REACTION_SET_MAN_1_SHAVED_GREEN_SHIRT,
    /* 0x37 */ MASK_REACTION_SET_WOMAN_2,
    /* 0x38 */ MASK_REACTION_SET_OLD_MAN_BALD_PURPLE_ROBE,
    /* 0x39 */ MASK_REACTION_SET_MAN_1_BOWL_CUT_GREEN_SHIRT,
    /* 0x3A */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1,
    /* 0x3B */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_2,
    /* 0x3C */ MASK_REACTION_SET_MAX
} MaskReactionSet;

u16 MaskReaction_GetTextId(struct PlayState* play, u32 maskReactionSet);

#endif
