#ifndef _ENHANCEMENT_TYPES_H_
#define _ENHANCEMENT_TYPES_H_

typedef enum {
    WARP_MODE_OVERRIDE_OFF,
    WARP_MODE_OVERRIDE_MQ_AS_VANILLA,
    WARP_MODE_OVERRIDE_VANILLA_AS_MQ,
} BetterDebugWarpOverrideMQMode;

typedef enum {
    CSMC_DISABLED,
    CSMC_BOTH,
    CSMC_TEXTURE,
    CSMC_SIZE
} ChestStyleMatchesContentsType;

typedef enum {
    SGIA_DISABLED,
    SGIA_JUNK,
    SGIA_ALL,
    SGIA_SIZE
} SkipGetItemAnimationType;

typedef enum {
    FORCED_DIALOG_SKIP_NONE,
    FORCED_DIALOG_SKIP_NAVI,
    FORCED_DIALOG_SKIP_NPC,
    FORCED_DIALOG_SKIP_ALL
} ForcedDialogMode;

typedef enum {
    BUNNY_HOOD_VANILLA,
    BUNNY_HOOD_FAST_AND_JUMP,
    BUNNY_HOOD_FAST
} BunnyHoodMode;

typedef enum {
    MIRRORED_WORLD_OFF,
    MIRRORED_WORLD_ALWAYS,
    MIRRORED_WORLD_RANDOM,
    MIRRORED_WORLD_RANDOM_SEEDED,
    MIRRORED_WORLD_DUNGEONS_All,
    MIRRORED_WORLD_DUNGEONS_VANILLA,
    MIRRORED_WORLD_DUNGEONS_MQ,
    MIRRORED_WORLD_DUNGEONS_RANDOM,
    MIRRORED_WORLD_DUNGEONS_RANDOM_SEEDED,
} MirroredWorldMode;

typedef enum {
    ENEMY_RANDOMIZER_OFF,
    ENEMY_RANDOMIZER_RANDOM,
    ENEMY_RANDOMIZER_RANDOM_SEEDED,
} EnemyRandomizerMode;

typedef enum {
    BOOTSEQUENCE_DEFAULT,
    BOOTSEQUENCE_AUTHENTIC,
    BOOTSEQUENCE_FILESELECT
} BootSequenceType;

typedef enum {
    ZFIGHT_FIX_DISABLED,
    ZFIGHT_FIX_CONSISTENT_VANISH,
    ZFIGHT_FIX_NO_VANISH,
} ZFightingFixType;

typedef enum {
    BONK_DAMAGE_NONE,
    BONK_DAMAGE_QUARTER_HEART,
    BONK_DAMAGE_HALF_HEART,
    BONK_DAMAGE_1_HEART,
    BONK_DAMAGE_2_HEARTS,
    BONK_DAMAGE_4_HEARTS,
    BONK_DAMAGE_8_HEARTS,
    BONK_DAMAGE_OHKO,
} BonkDamage;

typedef enum {
    DEKU_STICK_NORMAL,
    DEKU_STICK_UNBREAKABLE,
    DEKU_STICK_UNBREAKABLE_AND_ALWAYS_ON_FIRE,
} DekuStickType;

typedef enum {
    SWORD_TOGGLE_NONE,
    SWORD_TOGGLE_CHILD,
    SWORD_TOGGLE_BOTH_AGES,
} SwordToggleMode;

#endif
