Shipwright/soh/soh/Enhancements/game-interactor/vanilla-behavior/GIVanillaBehavior.h

2914 lines
56 KiB
C

#pragma once
#ifndef GI_VANILLA_BEHAVIOR_H
#define GI_VANILLA_BEHAVIOR_H
typedef enum {
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnKz`
VB_ADULT_KING_ZORA_ITEM_GIVE,
// #### `result`
// ```c
// requiredAge == 2
// ```
// #### `args`
// - `int32_t` (entrance index) (promoted from `uint16_t` by va_arg)
VB_ALLOW_ENTRANCE_CS_FOR_EITHER_AGE,
// #### `result`
// ```c
// sBgPoEventPuzzleState == 0xF
// ```
// #### `args`
// - None
VB_AMY_SOLVE,
// #### `result`
// ```c
// this->actor.textId == 0x401A
// ```
// #### `args`
// - `*EnKz`
VB_BE_ABLE_TO_EXCHANGE_RUTOS_LETTER,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_BE_ABLE_TO_OPEN_DOORS,
// #### `result`
// ```c
// (Flags_GetEventChkInf(EVENTCHKINF_USED_DODONGOS_CAVERN_BLUE_WARP)) || BREG(2)
// ```
// #### `args`
// - None
VB_BE_ABLE_TO_PLAY_BOMBCHU_BOWLING,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_BE_ABLE_TO_SAVE,
// #### `result`
// ```c
// this->currentReward == 3
// ```
// #### `args`
// - `*EnTk`
VB_BE_DAMPE_GRAVEDIGGING_GRAND_PRIZE,
// #### `result`
// ```c
// (this->getItemId == GI_QUIVER_40) || (this->getItemId == GI_QUIVER_50)
// ```
// #### `args`
// - `*EnSyatekiMan`
VB_BE_ELIGIBLE_FOR_ADULT_SHOOTING_GAME_REWARD,
// #### `result`
// ```c
// CUR_CAPACITY(UPG_BOMB_BAG) >= 20
// ```
// #### `args`
// - `*EnGo2`
VB_BE_ELIGIBLE_FOR_CHILD_ROLLING_GORON_REWARD,
// #### `result`
// ```c
// CUR_UPG_VALUE(UPG_STRENGTH) <= 0
// ```
// #### `args`
// - None
VB_BE_ELIGIBLE_FOR_DARUNIAS_JOY_REWARD,
// #### `result`
// ```c
// !CHECK_OWNED_EQUIP_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BIGGORON)
// ```
// #### `args`
// - None
VB_BE_ELIGIBLE_FOR_GIANTS_KNIFE_PURCHASE,
// #### `result`
// See `isEligible` logic in
// ```c
// BgDyYoseizo_CheckMagicAcquired()
// ```
// #### `args`
// - `*BgDyYoseizo`
VB_BE_ELIGIBLE_FOR_GREAT_FAIRY_REWARD,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) &&
// CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) &&
// LINK_IS_ADULT &&
// !Flags_GetEventChkInf(EVENTCHKINF_RETURNED_TO_TEMPLE_OF_TIME_WITH_ALL_MEDALLIONS) &&
// (gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_TEMPLE_OF_TIME)
// ```
// #### `args`
// - None
VB_BE_ELIGIBLE_FOR_LIGHT_ARROWS,
// #### `result`
// ```c
// gSaveContext.rupees >= sPrices[BEANS_BOUGHT]
// ```
// #### `args`
// - `*EnMs`
VB_BE_ELIGIBLE_FOR_MAGIC_BEANS_PURCHASE,
// #### `result`
// ```c
// (gSaveContext.entranceIndex == ENTR_KAKARIKO_VILLAGE_FRONT_GATE) &&
// LINK_IS_ADULT &&
// Flags_GetEventChkInf(EVENTCHKINF_USED_FOREST_TEMPLE_BLUE_WARP) &&
// Flags_GetEventChkInf(EVENTCHKINF_USED_FIRE_TEMPLE_BLUE_WARP) &&
// Flags_GetEventChkInf(EVENTCHKINF_USED_WATER_TEMPLE_BLUE_WARP) &&
// !Flags_GetEventChkInf(EVENTCHKINF_BONGO_BONGO_ESCAPED_FROM_WELL)
// ```
// #### `args`
// - None
VB_BE_ELIGIBLE_FOR_NOCTURNE_OF_SHADOW,
// #### `result`
// ```c
// !Flags_GetEventChkInf(EVENTCHKINF_LEARNED_PRELUDE_OF_LIGHT) &&
// Flags_GetEventChkInf(EVENTCHKINF_USED_FOREST_TEMPLE_BLUE_WARP)
// ```
// #### `args`
// - None
VB_BE_ELIGIBLE_FOR_PRELUDE_OF_LIGHT,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) &&
// CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) &&
// (INV_CONTENT(ITEM_ARROW_LIGHT) == ITEM_ARROW_LIGHT) &&
// CheckPlayerPosition(player, play)
// ```
// #### `args`
// - None
VB_BE_ELIGIBLE_FOR_RAINBOW_BRIDGE,
// #### `result`
// ```c
// !CHECK_QUEST_ITEM(QUEST_SONG_SARIA)
// ```
// #### `args`
// - None
VB_BE_ELIGIBLE_FOR_SARIAS_SONG,
// #### `result`
// ```c
// CHECK_OWNED_EQUIP(EQUIP_TYPE_BOOTS, EQUIP_INV_BOOTS_IRON) &&
// !Flags_GetEventChkInf(EVENTCHKINF_LEARNED_SERENADE_OF_WATER)
// ```
// #### `args`
// - None
VB_BE_ELIGIBLE_FOR_SERENADE_OF_WATER,
// #### `result`
// ```c
// !Flags_GetEventChkInf(EVENTCHKINF_OPENED_THE_DOOR_OF_TIME)
// ```
// #### `args`
// - `*EnOkarinaTag`
VB_BE_ELIGIBLE_TO_OPEN_DOT,
// #### `result`
// ```c
// this->validDigHere == 1
// ```
// #### `args`
// - `*EnTk`
VB_BE_VALID_GRAVEDIGGING_SPOT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - 'EnHy*'
VB_BEGGAR_GIVE_ITEM,
// #### `result`
// ```c
// this->collider.base.acFlags & 2 || blueFireArrowHit
// ```
// #### `args`
// - `*BgBreakwall`
VB_BG_BREAKWALL_BREAK,
// #### `result`
// ```c
// this->cylinder1.base.acFlags & AC_HIT
// ```
// #### `args`
// - `*BgIceShelter`
VB_BG_ICE_SHELTER_HIT,
// #### `result`
// ```c
// (this->cylinder1.base.ac != NULL) && (this->cylinder1.base.ac->id == ACTOR_EN_ICE_HONO)
// ```
// #### `args`
// - `*BgIceShelter`
VB_BG_ICE_SHELTER_MELT,
// #### `result`
// ```c
// this->timer > 0 && this->timer <= 100
// ```
// #### `args`
// - `*BgSpot06Objects`
VB_BG_SPOT06_OBJECTS_GATE_SKIP,
// #### `result`
// ```c
// gSaveContext.bgsFlag
// ```
// #### `args`
// - None
VB_BIGGORON_CONSIDER_SWORD_COLLECTED,
// #### `result`
// ```c
// Environment_GetBgsDayCount() >= 3
// ```
// #### `args`
// - None
VB_BIGGORON_CONSIDER_SWORD_FORGED,
// #### `result`
// ```c
// gSaveContext.bgsFlag
// ```
// #### `args`
// - None
VB_BIGGORON_CONSIDER_TRADE_COMPLETE,
// #### `result`
// Actor is ACTOR_EN_ELF, ACTOR_EN_FISH, ACTOR_EN_ICE_HONO, or ACTOR_EN_INSECT
// ```c
// i < ARRAY_COUNT(sBottleCatchInfo)
// ```
// #### `args`
// - `*Actor` (interactRangeActor)
VB_BOTTLE_ACTOR,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnPoField`
VB_BOTTLE_BIG_POE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ObjWood02`
VB_BUSH_DROP_ITEM,
// #### `result`
// ```c
// ((this->actor.params == DNS_TYPE_HEART_PIECE) && (Flags_GetItemGetInf(ITEMGETINF_DEKU_SCRUB_HEART_PIECE))) ||
// ((this->actor.params == DNS_TYPE_DEKU_STICK_UPGRADE) && (Flags_GetInfTable(INFTABLE_BOUGHT_STICK_UPGRADE))) ||
// ((this->actor.params == DNS_TYPE_DEKU_NUT_UPGRADE) && (Flags_GetInfTable(INFTABLE_BOUGHT_NUT_UPGRADE)))
// ```
// #### `args`
// - `*EnShopnuts`
VB_BUSINESS_SCRUB_DESPAWN,
// #### `result`
// ```c
// this->actor.xzDistToPlayer < 130.0f
// ```
// #### `args`
// - None
VB_BUSINESS_SCRUB_SPEAK,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnHeishi2`
VB_CAN_BRIBE_HEISHI2,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `int32_t` (item)
VB_CHANGE_HELD_ITEM_AND_USE_ITEM,
// #### `result`
// ```c
// gSaveContext.rupees < 200
// ```
// #### `args`
// - `*EnJs`
VB_CHECK_RANDO_PRICE_OF_CARPET_SALESMAN,
// #### `result`
// ```c
// gSaveContext.rupees < 200
// ```
// #### `args`
// - `*EnGm`
VB_CHECK_RANDO_PRICE_OF_MEDIGORON,
// #### `result`
// ```c
// INV_CONTENT(ITEM_TRADE_CHILD) == ITEM_SOLD_OUT
// ```
// #### `args`
// - `*EnOssan` (Happy Mask Shopkeeper)
VB_HAPPY_MASK_SHOP_CHECK_SOLD_OUT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_CLIMB,
// #### `result`
// ```c
// CHECK_BTN_ALL(input->press.button, BTN_START)
// ```
// #### `args`
// - None
VB_CLOSE_PAUSE_MENU,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnDoor`
VB_CONSUME_SMALL_KEY,
// #### `result`
// ```c
// itemDropped >= 0 && itemDropped < 0x1A
// ```
// #### `args`
// - `*ObjKibako2`
VB_CRATE_DROP_ITEM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ObjKibako2`
VB_CRATE_SETUP_DRAW,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_CRAWL,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_CRAWL_SPEED_ENTER,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_CRAWL_SPEED_EXIT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Camera`
// - 'int16_t' (csId)
// - 'int16_t' (actionParameters)
// - 'int16_t' (initTimer)
// - 'CutsceneCameraPoint*' (atPoints)
// - 'CutsceneCameraPoint*' (eyePoints)
VB_CRAWL_SPEED_EXIT_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_CRAWL_SPEED_INCREASE,
// #### `result`
// ```c
// this->actionTimer == 0 && Rand_ZeroOne() < 0.03f
// ```
// #### `args`
// - `*EnPoRelay`
VB_DAMPE_DROP_FLAME,
// #### `result`
// ```c
// !Flags_GetItemGetInf(ITEMGETINF_1C)
// ```
// #### `args`
// - `*EnTk`
VB_DAMPE_GRAVEDIGGING_GRAND_PRIZE_BE_HEART_PIECE,
// #### `result`
// ```c
// gSaveContext.dayTime <= 0xC000 || gSaveContext.dayTime >= 0xE000 || LINK_IS_ADULT || play->sceneNum !=
// SCENE_GRAVEYARD
// ```
// #### `args`
// - `*EnTk`
VB_DAMPE_IN_GRAVEYARD_DESPAWN,
// #### `result`
// ```c
// !Flags_GetItemGetInf(ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE) && (Player_GetMask(play) != PLAYER_MASK_SKULL)
// ```
// #### `args`
// - None
VB_DEKU_SCRUBS_REACT_TO_MASK_OF_TRUTH,
// #### `result`
// ```c
// (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)
// ```
// #### `args`
// - None
VB_DEKU_THEATER_FINISH_GIVING_PRIZE,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)
// ```
// #### `args`
// - `*ObjDekujr`
VB_DEKU_JR_CONSIDER_FOREST_TEMPLE_FINISHED,
// #### `result`
// ```c
// this->unk_860 != 0
// ```
// #### `args`
// - None
VB_DEKU_STICK_BE_ON_FIRE,
// #### `result`
// ```c
// AMMO(ITEM_STICK) != 0
// ```
// #### `args`
// - None
VB_DEKU_STICK_BREAK,
// #### `result`
// ```c
// this->unk_860 < 20
// ```
// #### `args`
// - None
VB_DEKU_STICK_BURN_DOWN,
// #### `result`
// ##### In `Player_UpdateBurningDekuStick`
// ```c
// this->unk_85C == 0.0f
// ```
// ##### Also in `Player_UpdateBurningDekuStick`
// ```c
// DECR(this->unk_860) == 0;
// ```
// #### `args`
// - None
VB_DEKU_STICK_BURN_OUT,
// #### `result`
// ```c
// Flags_GetItemGetInf(ITEMGETINF_30)
// ```
// #### `args`
// - `*EnHs`
VB_DESPAWN_GROG,
// #### `result`
// ```c
// play->sceneNum == SCENE_LINKS_HOUSE && (!LINK_IS_ADULT ||
// !Flags_GetEventChkInf(EVENTCHKINF_WON_COW_IN_MALONS_RACE)
// ```
// #### `args`
// - `*EnCow`
VB_DESPAWN_HORSE_RACE_COW,
// #### `result`
// ```c
// (actorCategory == ACTORCAT_ENEMY) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_ATTENTION_ENABLED |
// ACTOR_FLAG_HOSTILE) && (actor->xyzDistToPlayerSq < SQ(500.0f)) && (actor->xyzDistToPlayerSq < sbgmEnemyDistSq)
// ```
// #### `args`
// - `*Actor`
// - `*f32` (sbgmEnemyDistSq)
// - `int32_t` (actorCategory)
VB_DETECT_BGM_ENEMY,
// #### `result`
// ```c
// !Flags_GetSwitch(play, this->actor.params & 0x3F)
// ```
// #### `args`
// - `*EnDoor`
VB_DOOR_BE_LOCKED,
// #### `result`
// ```c
// ((doorActor->params >> 7) & 7) == 3
// ```
// #### `args`
// - `*Actor`
VB_DOOR_PLAY_SCENE_TRANSITION,
// Vanilla condition: true
VB_HATCH_CUCCO_OR_CHICKEN,
// Vanilla condition: exchangeItemId == EXCH_ITEM_LETTER_ZELDA
// Opt: s32
VB_HEISHI2_ACCEPT_ITEM_AS_ZELDAS_LETTER,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_DRAW_ADDITIONAL_RETICLES,
// #### `result`
// In `Interface_DrawAmmoCount`:
// ```c
// (i == ITEM_STICK) ||
// (i == ITEM_NUT) ||
// (i == ITEM_BOMB) ||
// (i == ITEM_BOW) ||
// (
// (i >= ITEM_BOW_ARROW_FIRE) &&
// (i <= ITEM_BOW_ARROW_LIGHT)
// ) ||
// (i == ITEM_SLINGSHOT) ||
// (i == ITEM_BOMBCHU) ||
// (i == ITEM_BEAN)
// ```
// In `KaleidoScope_DrawAmmoCount`:
// ```c
// true
// ```
// #### `args`
// - `*int16_t` (item id)
VB_DRAW_AMMO_COUNT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - Player*
VB_EMPTYING_BOTTLE,
// #### `result`
// ```c
// (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)
// ```
// #### `args`
// - None
VB_END_GERUDO_MEMBERSHIP_TALK,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnArrow`
VB_EN_ARROW_MAGIC_CONSUMPTION,
// #### `result`
// ```c
// !(this->stateFlags3 & PLAYER_STATE3_PAUSE_ACTION_FUNC)
// ```
// #### `args`
// - `*Player`
// - `*Input`
VB_EXECUTE_PLAYER_ACTION_FUNC,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `int32_t` (startMode)
VB_EXECUTE_PLAYER_STARTMODE_FUNC,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor`
VB_FADE_KOKIRI,
// #### `result`
// ```c
// EnKo_GetForestQuestState2(this)
// ```
// #### `args`
// - `*EnKo`
VB_KOKIRI_GET_FOREST_QUEST_STATE2,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnElf`
VB_FAIRY_HEAL,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - None
VB_FIX_SAW_SOFTLOCK,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - `*EnFz`
// - `*s32`
VB_FREEZARD_SCALE_HEALTH_WITH_SIZE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_FLASH_SCREEN_FOR_FINISHING_BLOW,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*BgHeavyBlock`
VB_FREEZE_LINK_FOR_BLOCK_THROW,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_FREEZE_LINK_FOR_FOREST_PILLARS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_FREEZE_ON_SKULL_TOKEN,
// #### `result`
// ```c
// this->reward == GI_NONE
// ```
// #### `args`
// - `*EnFr`
VB_FROGS_GO_TO_IDLE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GANON_HEAL_BEFORE_FIGHT,
// #### `result`
// ```c
// (this->invisible && !Flags_GetSwitch(play, this->actor.home.rot.z)) || this->actor.xzDistToPlayer > 300.0f
// ```
// #### `args`
// - `EnGeldB*`
VB_GERUDO_FIGHTER_CONTINUE_WAITING,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `EnGeldB*`
VB_GERUDO_FIGHTER_PLAY_MINIBOSS_MUSIC,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `EnGeldB*`
VB_GERUDO_FIGHTER_THROW_LINK_TO_JAIL,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnGe2`
VB_GERUDO_GUARD_SET_ACTION_AFTER_TALK,
// #### `result`
// See logic in
// ```c
// EnGe1_CheckCarpentersFreed()
// ```
// and
// ```c
// EnGe2_CheckCarpentersFreed()
// ```
// #### `args`
// - None
VB_GERUDOS_BE_FRIENDLY,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnJs`
VB_GIVE_BOMBCHUS_FROM_CARPET_SALESMAN,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_FAIRY_OCARINA,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_FIRE_MEDALLION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_FOREST_MEDALLION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnNiwLady`
VB_GIVE_ITEM_FROM_ANJU_AS_ADULT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnNiwLady`
VB_GIVE_ITEM_FROM_ANJU_AS_CHILD,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `int32_t` (ItemID)
VB_GIVE_ITEM_FROM_BLUE_WARP,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnBomBowlPit`
VB_GIVE_ITEM_FROM_BOMBCHU_BOWLING,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnDns`
VB_GIVE_ITEM_FROM_BUSINESS_SCRUB,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - `*EnJs`
VB_GIVE_ITEM_FROM_CARPET_SALESMAN,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnBox`
VB_GIVE_ITEM_FROM_CHEST,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnCow`
VB_GIVE_ITEM_FROM_COW,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnDntJiji`
VB_GIVE_ITEM_FROM_DEKU_THEATER,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor` (EnDivingGame - &this->actor)
VB_GIVE_ITEM_FROM_DIVING_MINIGAME,
// #### `result`
// ```c
// true
// ```
// #### `args`
// ##### In `EnGo2_GetItem`
// - `*EnGo2`
// ##### Everywhere else
// - None
VB_GIVE_ITEM_FROM_GORON,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnDs`
VB_GIVE_ITEM_FROM_GRANNYS_SHOP,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnGe1`
VB_GIVE_ITEM_FROM_HORSEBACK_ARCHERY,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnItem00`
VB_GIVE_ITEM_FROM_ITEM_00,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnMk`
VB_GIVE_ITEM_FROM_LAB_DIVE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnHy`
VB_GIVE_ITEM_FROM_LOST_DOG,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnMs`
VB_GIVE_ITEM_FROM_MAGIC_BEAN_SALESMAN,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_FROM_MAN_ON_ROOF,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnGm`
VB_GIVE_ITEM_FROM_MEDIGORON,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnSkj`
VB_GIVE_ITEM_FROM_OCARINA_MEMORY_GAME,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnGb`
VB_GIVE_ITEM_FROM_POE_COLLECTOR,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnSyatekiMan`
VB_GIVE_ITEM_FROM_SHOOTING_GALLERY,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnSkj`
VB_GIVE_ITEM_FROM_SKULL_KID_SARIAS_SONG,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnSth`
VB_GIVE_ITEM_FROM_SKULLTULA_REWARD,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor` (EnTa - &this->actor)
VB_GIVE_ITEM_FROM_TALONS_CHICKENS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor` (EnExItem - &this->actor)
VB_GIVE_ITEM_FROM_TARGET_IN_WOODS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_GERUDO_MEMBERSHIP_CARD,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_LIGHT_ARROW,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_LIGHT_MEDALLION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_MASTER_SWORD,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_OCARINA_OF_TIME,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_SHADOW_MEDALLION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnSi`
VB_GIVE_ITEM_SKULL_TOKEN,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `songItemId`
VB_GIVE_ITEM_SONG,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_SPIRIT_MEDALLION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_STRENGTH_1,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_WATER_MEDALLION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_WEIRD_EGG,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_GIVE_ITEM_ZELDAS_LETTER,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - `*VBFishingData`
VB_GIVE_RANDO_FISHING_PRIZE,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - '*Fishing'
VB_GIVE_RANDO_GLITCH_FISHING_PRIZE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnGo2`
VB_GORON_LINK_BE_SCARED,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_GORON_RUBY)
// ```
// #### `args`
// - None
VB_GORONS_CONSIDER_DODONGOS_CAVERN_FINISHED,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_MEDALLION_FIRE)
// ```
// #### `args`
// - None
VB_GORONS_CONSIDER_FIRE_TEMPLE_FINISHED,
// #### `result`
// ```c
// CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, EQUIP_INV_TUNIC_GORON)
// ```
// #### `args`
// - None
VB_GORONS_CONSIDER_TUNIC_COLLECTED,
// #### `result`
// ```c
// gSaveContext.rupees < 100
// ```
// #### `args`
// - `NULL`
VB_GRANNY_SAY_INSUFFICIENT_RUPEES,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnDs`
VB_GRANNY_TAKE_MONEY,
// ### `result`
// ```c
// false
// ```
// ### `args`
// - `*EnKusa`
VB_GRASS_DROP_ITEM,
// ### `result`
// ```c
// true
// ```
// ### `args`
// - `*EnKusa`
VB_GRASS_SETUP_DRAW,
// #### `result`
// ```c
// Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)
// ```
// #### `args`
// - None
VB_GTG_GATE_BE_OPEN,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnCrow`
VB_GUAY_DO_DIVE_ATTACK,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - `*EnCrow`
VB_GUAY_FORCE_FLY_AWAY,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_HAVE_OCARINA_NOTE_A4,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_HAVE_OCARINA_NOTE_B4,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_HAVE_OCARINA_NOTE_D4,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_HAVE_OCARINA_NOTE_D5,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_HAVE_OCARINA_NOTE_F4,
// #### `result`
// ```c
// var >= gSaveContext.health && gSaveContext.health > 0
// ```
// #### `args`
// - None
VB_HEALTH_METER_BE_CRITICAL,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_HEARTS_INCREASE_WITH_CONTAINERS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*BgIceTurara`
VB_ICICLE_SETUP_DRAW,
// #### `result`
// ```c
// (respawnFlag == 1) || (respawnFlag == -1)
// ```
// #### `args`
// - `int32_t` (respawnFlag)
VB_INFLICT_VOID_DAMAGE,
// #### `result`
// ```c
// item >= ITEM_NONE_FE
// ```
// #### `args`
// - `int32_t` (item)
VB_ITEM_ACTION_BE_NONE,
// #### `result`
// ```c
// Flags_GetCollectible(play, 0x1F)
// ```
// #### `args`
// - `*ItemBHeart`
VB_ITEM_B_HEART_DESPAWN,
// #### `result`
// ```c
// Flags_GetCollectible(play, this->collectibleFlag)
// ```
// #### `args`
// - `*EnItem00`
VB_ITEM00_DESPAWN,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_JABU_WOBBLE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_KALEIDO_UNPAUSE_CLOSE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnFirefly`
VB_KEESE_DO_DIVE_ATTACK,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - `*EnFirefly`
VB_KEESE_FORCE_FLY_AWAY,
// #### `result`
// ```c
// Flags_GetEventChkInf(EVENTCHKINF_KING_ZORA_MOVED)
// ```
// #### `args`
// - `*EnKz`
VB_KING_ZORA_BE_MOVED,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)
// ```
// #### `args`
// - `*EnKz`
VB_KING_ZORA_THANK_CHILD,
// #### `result`
// ```c
// CHECK_OWNED_EQUIP(EQUIP_TYPE_TUNIC, EQUIP_INV_TUNIC_ZORA)
// ```
// #### `args`
// - `*EnKz`
VB_KING_ZORA_TUNIC_CHECK,
// #### `result`
// ```c
// varies
// ```
// #### `args`
// - `ObjLightswitch*`
VB_LIGHTSWITCH_OFF,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_LINK_SPIN_WITH_GORON_POT,
// #### `result`
// ```c
// !Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)
// ```
// #### `args`
// - `*DoorShutter`
VB_LOCK_BOSS_DOOR,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnMs`
VB_MAGIC_BEAN_SALESMAN_TAKE_MONEY,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_SONG_EPONA)
// ```
// #### `args`
// - None
VB_MALON_ALREADY_TAUGHT_EPONAS_SONG,
// #### `result`
// ```c
// Flags_GetEventChkInf(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)
// ```
// #### `args`
// - None
VB_MALON_RETURN_FROM_CASTLE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_SEND_MALON_HOME,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)
// ```
// #### `args`
// - `*EnMd`
VB_MIDO_CONSIDER_DEKU_TREE_DEAD,
// #### `result`
// ```c
// EnMd_ShouldSpawn(this, play)
// ```
// #### `args`
// - `*EnMd`
VB_MIDO_SPAWN,
// #### `result`
// ```c
// this->interactInfo.talkState == NPC_TALK_STATE_ACTION
// ```
// #### `args`
// - `*EnMd`
//
// ### Note:
// When overriding this, ensure you're not in the intro cutscene as Mido's path has not been loaded
VB_MOVE_MIDO_IN_KOKIRI_FOREST,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor`
VB_MOVE_THROWN_ACTOR,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnIk`
VB_NABOORU_KNUCKLE_DEATH_SCENE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ElfMsg`
VB_NAVI_TALK,
// #### `result`
// ```c
// Inventory_HasEmptyBottle() == 0
// ```
// #### `args`
// - None
VB_NEED_BOTTLE_FOR_GRANNYS_ITEM,
// #### `result`
// ```c
// Flags_GetInfTable(INFTABLE_GREETED_BY_SARIA)
// ```
// #### `args`
// - None
VB_NOT_BE_GREETED_BY_SARIA,
// #### `result`
// ```c
// gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex] <= 0
// ```
// #### `args`
// - `*EnDoor`
VB_NOT_HAVE_SMALL_KEY,
// #### `result`
// ```c
// Flags_GetItemGetInf(ITEMGETINF_30)
// ```
// #### `args`
// - `*EnDs`
VB_OFFER_BLUE_POTION,
// #### `result`
// ```c
// this->switchFlag >= 0
// ```
// #### `args`
// - `*EnOkarinaTag`
VB_OKARINA_TAG_COMPLETE,
// #### `result`
// ```c
// (this->switchFlag >= 0) && (Flags_GetSwitch(play, this->switchFlag))
// ```
// #### `args`
// - `*EnOkarinaTag`
VB_OKARINA_TAG_COMPLETED,
// #### `result`
// ```c
// this->getItemId != GI_NONE
// ```
// #### `args`
// - `None`
VB_OPEN_CHEST,
// #### `result`
// ```c
// CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)
// ```
// #### `args`
// - `*EnKo`
VB_OPEN_KOKIRI_FOREST,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - `*uint16_t` (overrideTextId)
VB_OVERRIDE_LINK_THE_GORON_DIALOGUE,
// #### `result`
// ```c
// this->actor.xzDistToPlayer < targetDist
// ```
// #### `args`
// - `*EnOwl`
VB_OWL_INTERACTION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*BossGanondrof`
VB_PHANTOM_GANON_DEATH_SCENE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_BEAN_PLANTING_CS,
// #### `result`
// ##### In `DoorWarp1_ChildWarpOut` - `SCENE_DODONGOS_CAVERN_BOSS`
// ```c
// !Flags_GetEventChkInf(EVENTCHKINF_USED_DODONGOS_CAVERN_BLUE_WARP)
// ```
// ##### In `DoorWarp1_ChildWarpOut` - `SCENE_DEKU_TREE_BOSS`
// ```c
// !Flags_GetEventChkInf(EVENTCHKINF_OBTAINED_KOKIRI_EMERALD_DEKU_TREE_DEAD)
// ```
// ##### In `DoorWarp1_RutoWarpOut`
// ```c
// true
// ```
// ##### In `DoorWarp1_AdultWarpOut` - `SCENE_FOREST_TEMPLE_BOSS`
// ```c
// !Flags_GetEventChkInf(EVENTCHKINF_USED_FOREST_TEMPLE_BLUE_WARP)
// ```
// ##### In `DoorWarp1_AdultWarpOut` - `SCENE_FIRE_TEMPLE_BOSS`
// ```c
// !Flags_GetEventChkInf(EVENTCHKINF_USED_FIRE_TEMPLE_BLUE_WARP)
// ```
// ##### In `DoorWarp1_AdultWarpOut` - `SCENE_WATER_TEMPLE_BOSS`
// ```c
// !Flags_GetEventChkInf(EVENTCHKINF_USED_WATER_TEMPLE_BLUE_WARP)
// ```
// ##### In `DoorWarp1_AdultWarpOut` - `SCENE_SPIRIT_TEMPLE_BOSS`
// ```c
// !CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)
// ```
// ##### In `DoorWarp1_AdultWarpOut` - `SCENE_SHADOW_TEMPLE_BOSS`
// ```c
// !CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)
// ```
// #### `args`
// - `int32_t` (EVENTCHKINF / RAND_INF_DUNGEONS_DONE)
VB_PLAY_BLUE_WARP_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_BOLERO_OF_FIRE_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnDaiku`
VB_PLAY_CARPENTER_FREE_CS,
// #### `result`
// Close enough & various cutscene checks
// ```c
// (func_80AEC5FC(this, play)) && (!Play_InCsMode(play)) &&
// (!(player->stateFlags1 & (PLAYER_STATE1_HANGING_OFF_LEDGE | PLAYER_STATE1_CLIMBING_LEDGE |
// PLAYER_STATE1_CLIMBING_LADDER))) &&
// (player->actor.bgCheckFlags & 1)
// ```
// #### `args`
// - `*EnRu1`
VB_PLAY_CHILD_RUTO_INTRO,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_DARUNIAS_JOY_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*BgTreemouth`
VB_PLAY_DEKU_TREE_INTRO_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*DemoKekkai`
VB_PLAY_DISPEL_BARRIER_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnOkarinaTag`
VB_PLAY_DOOR_OF_TIME_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnOkarinaTag`
VB_PLAY_DRAIN_WELL_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_DROP_FISH_FOR_JABU_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// ##### In `z_demo.c`:
// - `int32_t` (entranceCutscene->flag) (promoted from `uint8_t` by va_arg)
// - `int32_t` (entranceCutscene->entrance) (promoted from `uint16_t` by va_arg)
// ##### In `z_bg_breakwall.c` and `z_bg_toki_swd.c`:
// - `int32_t` (EVENTCHKINF)
// - `int32_t` (gSaveContext.entranceIndex)
VB_PLAY_ENTRANCE_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// ##### When called from `z_en_ds.c`
// - `*EnDs`
// ##### When called from `z_en_mk.c`
// - `*EnMk`
VB_PLAY_EYEDROP_CREATION_ANIM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_EYEDROPS_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_FIRE_ARROW_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnHeishi2`
// - `bool` (clearCamera - true if the code clears a sub-camera, false otherwise)
VB_PLAY_GATE_OPENING_OR_CLOSING_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_GORON_FREE_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_MINUET_OF_FOREST_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_MWEEP_CS,
// #### `result`
// ```c
// this->getItemId == GI_GAUNTLETS_SILVER
// ```
// #### `args`
// - None
VB_PLAY_NABOORU_CAPTURED_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor`
VB_PLAY_ONEPOINT_ACTOR_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*int16_t` (cutscene id)
VB_PLAY_ONEPOINT_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `int32_t` (owl type)
VB_PLAY_OWL_TRAVEL_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_PRELUDE_OF_LIGHT_CS,
// #### `result`
// ##### In `z_demo.c` - `Cutscene_Command_Terminator` (setting `shouldSkipCommand`)
// ```c
// true
// ```
// ##### In `z_demo.c` - `Cutscene_Command_Terminator` (inside if block and switch)
// ```c
// !Flags_GetEventChkInf(EVENTCHKINF_PULLED_MASTER_SWORD_FROM_PEDESTAL)
// ```
// #### `args`
// - None
VB_PLAY_PULL_MASTER_SWORD_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_RAINBOW_BRIDGE_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnOkarinaTag`
VB_PLAY_ROYAL_FAMILY_TOMB_CS,
// #### `result`
// ```c
// play->csCtx.state != 0 && play->csCtx.npcActions[3] != NULL && play->csCtx.npcActions[3]->action == 2
// ```
// #### `args`
// - `*BgSpot02Objects`
VB_PLAY_ROYAL_FAMILY_TOMB_EXPLODE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnSa`
VB_PLAY_SARIAS_SONG_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_SERENADE_OF_WATER_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_SHIEK_BLOCK_MASTER_SWORD_CS,
// #### `result`
// ```c
// (giEntry.itemId != ITEM_NONE) && (giEntry.gi >= 0) && (Item_CheckObtainability(giEntry.itemId) == ITEM_NONE)
// ```
// #### `args`
// - `*EnBox`
VB_PLAY_SLOW_CHEST_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnFu`
VB_PLAY_SONG_OF_STORMS_CS,
// #### `result`
// ```c
// !CHECK_QUEST_ITEM(QUEST_SONG_SUN)
// ```
// #### `args`
// - `*EnOkarinaTag`
VB_PLAY_SUNS_SONG_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*LinkAnimationHeader`
VB_PLAY_THROW_ANIMATION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_PLAY_TRANSITION_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*DemoIm`
VB_PLAY_ZELDAS_LULLABY_CS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Player`
// - `int32_t` (magicArrowType)
// - `*int32_t` (arrowType)
VB_PLAYER_ARROW_MAGIC_CONSUMPTION,
// #### `result`
// ```c
// item == ITEM_SAW
// ```
// #### `args`
// - None
VB_POACHERS_SAW_SET_DEKU_NUT_UPGRADE_FLAG,
// #### `result`
// ```c
// (dropParams >= ITEM00_RUPEE_GREEN) && (dropParams <= ITEM00_BOMBS_SPECIAL)
// ```
// #### `args`
// - `*ObjTsubo`
VB_POT_DROP_ITEM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ObjTsubo`
VB_POT_SETUP_DRAW,
// #### `result`
// ```c
// dropId == ITEM00_STICK
// ```
// #### `args`
// - None
VB_PREVENT_ADULT_STICK,
// #### `result`
// ```c
// varies
// ```
// #### `args`
// - None
VB_PREVENT_STRENGTH,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnRd`
VB_REDEAD_GIBDO_FREEZE_LINK,
// #### `result`
// ```c
// this->alpha <= 0
// ```
// #### `args`
// - `*BgIceShelter`
VB_RED_ICE_DROP_ITEM,
// #### `result`
// ```c
// !((this->dyna.actor.params >> 6) & 1) && (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F))
// ```
// #### `args`
// - `*BgIceShelter`
VB_RED_ICE_MELTED_FLAG,
// #### `result`
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_RENDER_KEY_COUNTER,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_RENDER_RUPEE_COUNTER,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `**Gfx` (`&POLY_OPA_DISP`)
VB_RENDER_YES_ON_CONTINUE_PROMPT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_REVERT_SPOILING_ITEMS,
// #### `result`
// ```c
// !Flags_GetInfTable(INFTABLE_145)
// ```
// #### `args`
// - `*EnRu1`
VB_RUTO_BE_CONSIDERED_NOT_KIDNAPPED,
// #### `result`
// Landed on the platform in the big okto room
// ```c
// dynaPolyActor != NULL && dynaPolyActor->actor.id == ACTOR_BG_BDAN_OBJECTS &&
// dynaPolyActor->actor.params == 0 && !Player_InCsMode(play) && play->msgCtx.msgLength == 0
// ```
// #### `args`
// - `*EnRu1`
// - `*DynaPolyActor`
VB_RUTO_RUN_TO_SAPPHIRE,
// #### `result`
// in the big okto room and flag
// ```c
// !Flags_GetInfTable(INFTABLE_RUTO_IN_JJ_WANTS_TO_BE_TOSSED_TO_SAPPHIRE) && (func_80AEB124(play) != 0)
// ```
// #### `args`
// - `*EnRu1`
VB_RUTO_WANT_TO_BE_TOSSED_TO_SAPPHIRE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnGb`
VB_SELL_POES_TO_POE_COLLECTOR,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `int32_t` (button - promoted from `s16`)
VB_SET_BUTTON_ITEM_FROM_C_BUTTON_SLOT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnNiwLady`
VB_SET_CUCCO_COUNT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_SET_DIVING_GAME_TIME_LIMIT,
// #### `result`
// ```c
// SurfaceType_GetSlope(&play->colCtx, poly, bgId) == 2
// ```
// #### `args`
// - `*int16_t` - original next entrance index (`play->setupExitList[exitIndex - 1]`)
VB_SET_VOIDOUT_FROM_SURFACE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - BgHakaShip*
// - PlayState*
VB_SHADOW_SHIP_SET_SPEED,
// #### `result`
// ```c
// (!CHECK_OWNED_EQUIP(EQUIP_TYPE_BOOTS, EQUIP_INV_BOOTS_IRON) &&
// !Flags_GetEventChkInf(EVENTCHKINF_LEARNED_SERENADE_OF_WATER)) && LINK_IS_ADULT
// ```
// #### `args`
// - None
VB_SHIEK_PREPARE_TO_GIVE_SERENADE_OF_WATER,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - None
VB_SHORT_CIRCUIT_GIVE_ITEM_PROCESS,
// #### `result`
// ```c
// (s16)sFishingRecordLength < (s16)sFishOnHandLength
// ```
// #### `args`
// - `*f32` (sFishOnHandLength)
VB_SHOULD_CHECK_FOR_FISHING_RECORD,
// #### `result`
// ##### In `Fishing_HandleOwnerDialog` - `LINK_AGE_CHILD`
// ```c
// (sFishingRecordLength >= 50.0f) && !(HIGH_SCORE(HS_FISHING) & HS_FISH_PRIZE_CHILD)
// ```
// ##### In `Fishing_HandleOwnerDialog` - `!LINK_AGE_CHILD`
// ```c
// (sFishingRecordLength >= 60.0f) && !(HIGH_SCORE(HS_FISHING) & HS_FISH_PRIZE_ADULT)
// ```
// #### `args`
// - `*VBFishingData`
VB_SHOULD_GIVE_VANILLA_FISHING_PRIZE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*VBFishingData`
VB_SHOULD_SET_FISHING_RECORD,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - `*s8 iter2`
// - `s8 sp3C[4]`
VB_SHOULD_QUICKSPIN,
// #### `result`
// ```c
// (interactedActor->id == ACTOR_BG_TOKI_SWD) && LINK_IS_ADULT
// ```
// #### `args`
// - None
VB_SHOW_MASTER_SWORD_TO_PLACE_IN_PEDESTAL,
// #### `result`
// ```c
// gSaveContext.showTitleCard
// ```
// #### `args`
// - None
VB_SHOW_TITLE_CARD,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_SKIP_TALKING,
// #### `result`
// ```c
// (collectible >= 0) && (collectible <= 0x19
// ```
// #### `args`
// - `*ObjKibako`
VB_SMALL_CRATE_DROP_ITEM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ObjKibako`
VB_SMALL_CRATE_SETUP_DRAW,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - None
VB_SKIP_SCARECROWS_SONG,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ObjBean`
VB_SPAWN_BEAN_STALK_FAIRIES,
// #### `result`
// ```c
// this->timer >= 60
// ```
// #### `args`
// - `None`
VB_SPAWN_BEAN_SKULLTULA,
// #### `result`
// ```c
// true
// ```
// #### `args`
// ##### In `z_boss_dodongo.c`:
// - `*BossDodongo`
//
// ##### In `z_boss_fd2.c`
// - `*BossFd2`
//
// ##### In `z_boss_ganondrof.c`:
// - `*BossGanondrof`
//
// ##### In `z_boss_goma.c`:
// - `*BossGoma`
//
// ##### In `z_boss_mo.c`:
// - `*BossMo`
//
// ##### In `z_boss_sst.c`:
// - `*BossSst`
//
// ##### In `z_boss_tw.c`:
// - `*BossTw`
//
// ##### In `z_boss_va.c`:
// - `*BossVa`
VB_SPAWN_BLUE_WARP,
// #### `result`
// ```c
// this->timer == 4
// ```
// #### `args`
// - `*EnButte`
VB_SPAWN_BUTTERFLY_FAIRY,
// #### `result`
// ```c
// INV_CONTENT(ITEM_ARROW_FIRE) == ITEM_NONE
// ```
// #### `args`
// - None
VB_SPAWN_FIRE_ARROW,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnElf`
VB_SPAWN_FOUNTAIN_FAIRIES,
// #### `result`
// ```c
// this->unk_19D & 1
// ```
// #### `args`
// - `*EnGs`
VB_SPAWN_GOSSIP_STONE_FAIRY,
// #### `result`
// ##### In `BossFd_Fly` (`case BOSSFD_SKULL_BURN`)
// ```c
// this->timers[0] == 7
// ```
// ##### Everywhere else
// ```c
// true
// ```
// #### `args`
// - None
VB_SPAWN_HEART_CONTAINER,
// #### `result`
// ```c
// (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_ODD_POTION) ? true : false
// ```
// #### `args`
// - `*EnKo`
VB_SPAWN_LW_FADO,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ShotSun`
VB_SPAWN_SONG_FAIRY,
// #### `result`
// ```c
// (talkOfferActor != NULL) || (cUpTalkActor != NULL)
// ```
// #### `args`
// - None
VB_SPEAK,
// #### `result`
// ```c
// this->dyna.actor.params == TURARA_STALACTITE_REGROW
// ```
// #### `args`
// - `*BgIceTurara`
VB_STALACTITE_DROP_ITEM,
// #### `result`
// ```c
// this->collider.base.acFlags & AC_HIT
// ```
// #### `args`
// - `*BgIceTurara`
VB_STALAGMITE_DROP_ITEM,
// #### `result`
// ```c
// varies, never set should to true
// ```
// #### `args`
// - `*Actor`
// - `*s16` - timer value
VB_SWITCH_TIMER_TICK,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*CollisionPoly
// - s32 - background id`
VB_TARGETABLE_HOOKSHOT_RETICLE,
// #### `result`
// ```c
// (this->stateFlags1 & PLAYER_STATE1_CARRYING_ACTOR) && (this->heldActor != NULL) &&
// CHECK_BTN_ANY(sControlInput->press.button, buttonsToCheck)
// ```
// #### `args`
// - `*Input`
VB_THROW_OR_PUT_DOWN_HELD_ITEM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnHs`
VB_TRADE_COJIRO,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnMk`
VB_TRADE_FROG,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnDs`
VB_TRADE_ODD_MUSHROOM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnKo`
VB_TRADE_ODD_POTION,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnNiwLady`
VB_TRADE_POCKET_CUCCO,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnToryo`
VB_TRADE_SAW,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnMk`
VB_TRADE_TIMER_EYEDROPS,
// #### `result`
// ```c
// INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_FROG)
// ```
// #### `args`
// - None
VB_TRADE_TIMER_FROG,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_TRADE_TIMER_ODD_MUSHROOM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*PauseContext`
VB_TRANSITION_TO_SAVE_SCREEN_ON_DEATH,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnWood02`
VB_TREE_DROP_COLLECTIBLE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ObjWood02`
VB_TREE_SETUP_DRAW,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ObjWood02`
VB_TREE_DROP_ITEM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `int32_t` (button - promoted from `u8`)
// - `int32_t` (item - promoted from `u8`)
VB_UPDATE_BOTTLE_ITEM,
// #### `result`
// ```c
// INV_CONTENT(ITEM_ODD_MUSHROOM) == ITEM_EYEDROPS
// ```
// #### `args`
// - `*EnMk`
VB_USE_EYEDROP_DIALOGUE,
// #### `result`
// ```c
// (this->modelAnimType != PLAYER_ANIMTYPE_3) && (play->shootingGalleryStatus == 0)
// ```
// #### `args`
// - `*Player`
VB_USE_HELD_ITEM_AFTER_CHANGE,
// #### `result`
// ```c
// (shapeRotY < -0x2E93) || (shapeRotY >= 0x7C19)
// ```
// #### `args`
// - None
VB_WIN_GORON_POT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnWonderItem`
VB_WONDER_DROP_ITEM,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - 'Vec3f' pos
// - 'f32' rotY
VB_WONDER_HEISHI_ITEM,
// #### `result`
// ```c
// (gSaveContext.dayTime < 0xB888 || IS_DAY) && ((!IS_RANDO &&
// !Flags_GetEventChkInf(EVENTCHKINF_ZELDA_FLED_HYRULE_CASTLE)) || (IS_RANDO && !metZelda))
// (gSaveContext.dayTime >= 0xB889) || !IS_DAY || (!IS_RANDO &&
// Flags_GetEventChkInf(EVENTCHKINF_ZELDA_FLED_HYRULE_CASTLE)) || (IS_RANDO && metZelda)
// ```
// #### `args`
// - EnHeishi1*
VB_WONDER_HEISHI_PATROLLING,
// #### `result`
// ```c
// (this->switchFlag >= 0) && Flags_GetSwitch(play, this->switchFlag)
// ```
// #### `args`
// - `None`
VB_WONDER_SPAWN,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnWonderTalk2`
VB_WONDER_TALK,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor`
VB_TRIGGER_VOIDOUT,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor`
VB_TORCH2_HANDLE_CLANKING,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Actor`
VB_RECIEVE_FALL_DAMAGE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnRr`
VB_LIKE_LIKE_GRAB_PLAYER,
// #### `result`
// ```c
// entry != NULL
// ```
// #### `args`
// - `*AnimationEntry`
// - `*LinkAnimationHeader`
// - `s32` frame
// - `s32` limbCount
// - `*Vec3s` frameTable
VB_LOAD_PLAYER_ANIMATION_FRAME,
// #### `result`
// ```c
// DoorWarp1_PlayerInRange(this, play)
// ```
// #### `args`
// - `*DoorWarp1`
VB_BLUE_WARP_CONSIDER_ADULT_IN_RANGE,
// #### `result`
// ```c
// (CVarGetInteger(CVAR_GAMEPLAY_STATS("ShowIngameTimer"), 0) && gSaveContext.fileNum >= 0 && gSaveContext.fileNum
// <= 2)
// ```
// #### `args`
// - `*PlayState`
VB_SHOW_GAMEPLAY_TIMER,
// (this->dyna.actor.params >> 5 & 0x7F) == GI_ICE_TRAP && this->actionFunc == EnBox_Open &&
// this->skelanime.curFrame > 45 && this->iceSmokeTimer < 100
// ```
// #### `args`
// - `*EnBox`
VB_CHEST_USE_ICE_EFFECT,
// #### `result`
// ```c
// arg3 < fabsf(sp1C.x) || arg4 < fabsf(sp1C.y)
// ```
// #### `args`
// - `*DoorShutter`
VB_BE_NEAR_DOOR_SHUTTER,
// #### `result`
// ```c
// CVarGetInteger(CVAR_ENHANCEMENT("3DSceneRender"), 0)
// ```
// #### `args`
// - None
VB_DRAW_2D_BACKGROUND,
// #### `result`
// ```c
// CVarGetInteger(CVAR_ENHANCEMENT("3DSceneRender"), 0)
// ```
// #### `args`
// - None
VB_LOAD_SKYBOX,
// true
// ```
// #### `args`
// - `*Player`
VB_SET_STATIC_PREV_FLOOR_TYPE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Player`
VB_SET_STATIC_FLOOR_TYPE,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - *EnGirlACanBuyResult
VB_CAN_BUY_BOMBCHUS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - None
VB_CHECK_BOMBCHU_CAPACITY,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - int16_t
VB_COLOR_AMMO_GREEN,
// (this->collider.base.acFlags & AC_HIT) && !Player_InCsMode(play) &&
// (player->meleeWeaponAnimation == 22 || player->meleeWeaponAnimation == 23)
// ```
// #### `args`
// - `*BgHidanDalm`
VB_HAMMER_TOTEM_BREAK,
// #### `result`
// ```c
// Actor_GetCollidedExplosive(play, &this->collider.base) != NULL
// ```
// #### `args`
// - `*BgHidanKowarerukabe`
VB_FIRE_TEMPLE_BOMBABLE_WALL_BREAK,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*FileChooseContext`
VB_FILE_SELECT_DRAW_DEATHS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*FileChooseContext`
VB_FILE_SELECT_DRAW_HEARTS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*FileChooseContext`
// - `s16`
// - `u8`
VB_FILE_SELECT_DRAW_QUEST_ITEMS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*FileChooseContext`
VB_FILE_SELECT_DRAW_FILE_INFO_BOX,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Player`
// - `*Color_RGB8`
VB_APPLY_TUNIC_COLOR,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*int16_t` // pauseCtx->namedItem
VB_DRAW_CUSTOM_ITEM_NAME,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*PlayState`
// - `uint16_t` (cursorSlot - promoted from `u16`)
// - `uint16_t` (cursorItem - promoted from `u16`)
VB_EQUIP_ITEM_TO_C_BUTTON,
// #### `result`
// ```c
// (
// (
// (commonType + FIDGET_SWORD_SWING != FIDGET_SWORD_SWING) &&
// (commonType + FIDGET_SWORD_SWING != FIDGET_ADJUST_SHIELD)
// ) ||
// (
// (player->rightHandType == PLAYER_MODELTYPE_RH_SHIELD) &&
// (
// (commonType + FIDGET_SWORD_SWING == FIDGET_ADJUST_SHIELD) ||
// (Player_GetMeleeWeaponHeld2(player) != 0)
// )
// )
// )
// ```
// #### `args`
// - `Player*`
// - `s32` commonType
VB_SET_IDLE_ANIM,
// #### `result`
// ```c
// player->unk_6A0 > 4000000.0f
// ```
// #### `args`
// - `*Player`
// - `double` (temp - promoted from `f32`)
VB_RUMBLE_FOR_SECRET,
// #### `result`
// ```c
// false
// ```
// #### `args`
// - None
VB_TOGGLE_Z_TARGET_SWITCH_DIRECTION,
// #### `result`
// ```c
// !usingHoldTargeting
// ```
// #### `args`
// - `int32_t` (usingHoldTargeting - promoted from `s32`)
VB_TOGGLE_Z_TARGET_SWITCH_TARGETS,
// #### `result`
// ```c
// (uint8_t)font->msgBuf[msgCtx->msgBufPos + 1] >= ITEM_CUSTOM
// ```
// #### `args`
// - uint8_t (sDisplayNextMessageAsEnglish)
VB_LOAD_ITEM_ICON,
// #### `result`
// ```c
// itemId < ITEM_CUSTOM
// ```
// #### `args`
// - `Gfx**`
VB_DRAW_ITEM_ICON,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*ActorContext`
// - `*ActorEntry`
// - `*PlayState`
// - `**Actor`
VB_SPAWN_ACTOR_ENTRY,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*PlayState`
// - `*Vec3f`
// - `double` (promoted from `f32`)
// - `double` (promoted from `f32`)
// - `double` (promoted from `f32`)
VB_ADULT_ZELDA_SPAWN_STALFOS_IN_COLLAPSE,
// #### `result`
// ```c
// !(this->dyna.actor.flags & ACTOR_FLAG_INSIDE_CULLING_VOLUME)
// ```
// #### `args`
// - `*EnBlkobj`
// - `*PlayState`
VB_BLKOBJ_SPAWN_DARK_LINK,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*BgHakaTubo`
// - `*PlayState`
VB_HAKA_TUBO_SPAWN_KEESE,
// #### `result`
// ```c
// !IS_DAY && play->sceneNum == SCENE_GRAVEYARD
// ```
// #### `args`
// - `*BgHaka`
// - `*PlayState`
VB_HAKA_SPAWN_POE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnVali`
// - `*PlayState`
VB_BIRI_SPAWN_JELLYFISH_UPON_DEATH,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*EnEncount1`
// - `*PlayState`
// - `s16`
// - `Vec3f`
// - `s16`
VB_ENCOUNT1_SPAWN_STALCHILD_OR_WOLFOS,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*BgMoriBigst`
// - `*PlayState`
VB_MORI_BIGST_SUMMON_STALFOS_PAIR,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*BgHakaHuta`
// - `*PlayState`
VB_HAKA_HUTA_SPAWN_KEESE,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*BgHakaHuta`
// - `*PlayState`
VB_HAKA_HUTA_SPAWN_REDEAD,
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*int32_t (camId)`
VB_SHOULD_LOAD_BG_IMAGE
} GIVanillaBehavior;
#endif