Zelda OoT Actor List

List of Level Elements, Items, Props, Traps, Effects, etc You Can Use In The Game

I’m creating a comprehensive list of all Zelda Ocarina of Time actors — including props, traps, effects, and other placeable elements you can use when building or modifying levels in the game. This resource is designed to help modders and level designers quickly understand what each actor does and how it can be used. From torches and switches to flame circles and falling platforms, the goal is to document everything that contributes to the interactive environment of a scene. This list is a work in progress, and I’m continuously updating it as I explore more of the game’s internal structure and actor data.

Destructible Level Elements Obstacle

2D Bombable Wall

The Bg_Bombwall actor represents a simple bombable wall used throughout the game world, such as in fields and caves. This wall starts intact and has triangle-based collision that can detect hits from player bombs. When struck by an explosion, it plays a crumble effect using randomized dust puffs and visual debris placements, then switches its model to a broken wall variant. A switch flag is set to ensure the destruction persists across reloads. The actor can optionally trigger a success chime if configured to do so via parameters. After breaking, its collision and damage detection are disabled, and it becomes static, leaving only the visual of the broken wall behind. This actor provides an efficient and reusable way to hide secrets or block paths, encouraging exploration and puzzle-solving using bombs.


Bg_Bombwall

ID: 00D0
Object: 0002
Code Files: z_bg_bombwall.c
Actor Variables
v &>> 0x3F = Switch Flag
v &>> 0xFF00 = Unknown
80 [8000] Used in Death Mountain Trail
00 [0000] Used in Death Mountain Crater (cutscene setups)
Level Elements

Ambient Sound Effects

The En_River_Sound actor serves as an invisible controller for environmental audio, background music, and sound effects across various regions in the game. Despite its name, it manages much more than just river sounds—it plays ambient effects like rushing water, lava bubbling, fairy fountain music, and even Saria’s Song in the Lost Woods or Goron City. Depending on its parameters, the actor can trigger background music changes, ambient nature sounds, or positional sound effects based on the player’s location. When linked to a path, it calculates the closest point to the player and adjusts river sound frequency depending on nearby surface properties like conveyor speed. It also includes logic for gradually increasing the volume of Ganon’s Tower BGM as the player ascends. The draw function, rather than rendering visuals, is used each frame to trigger the appropriate sound at the correct location and volume, making this actor a core part of the game’s immersive sound design.


En_River_Sound

ID: 003B
Object: 0001
Code Files: z_en_river_sound.c
Actor Variables
v &>> 0x00FF = Sound
00 [0000] River (Multi-Point)
01 [0001] Stream
02 [0002] Magma
03 [0003] Waterfall
04 [0004] Small Stream
05 [0005] Stream
06 [0006] Fire Temple’s Lower Ambient Noise
07 [0007] Fire Temple’s Higher Ambient Noise
08 [0008] Water Dripping (Well)
09 [0009] River
0A [000A] Market gibberish
0B [000B] Unknown //FIXME: volume decreased but no ambient sound seemed to play
0D [000D] Proximity Saria’s Song
0E [000E] Howling wind
0F [000F] Gurgling
10 [0010] Temple of Light’s dripping sounds
11 [0011] Low booming-likish sound
12 [0012] Quake/Collapse
13 [0013] Fairy Fountain
14 [0014] Torches
15 [0015] Cows
16 [0016]+ Outside of the ambient noise domain
F7 [00F7] ?!
F8 [00F8] ?
F9 [00F9] ?
FA [00FA] ?
FB [00FB] ?
FC [00FC] ?
FD [00FD] ?
FE [00FE] ?
FF [00FF] ?
v &>> 0xFF00 = Path Id //Used for sound sources, Type 00 only?
Level Elements Trap

Arrow Trap

En_Arow_Trap is an unused trap actor designed to periodically fire arrows at the player. When initialized, it sets a timer (attackTimer) to 80 frames and scales down to a small, nearly invisible object. During gameplay, if the player comes within a 400-unit radius, the timer begins to count down. Once the timer reaches zero, the trap spawns an En_Arrow actor—specifically a silent normal arrow—fired in the trap’s facing direction. After each shot, the timer resets to 80 frames. Despite being functional, this trap is never used in the final game, making it a hidden leftover with potential for creative use in ROM hacks or custom maps.


En_Arow_Trap

ID: 0081
Object: 0001
Level Elements Obstacle Plants Switch

Bean Plant Spot

The Obj_Bean actor represents a magic bean plant spot that progresses through several life stages based on player interaction and game state. Initially, as a child, Link can plant a Magic Bean in the soft soil spot by interacting with it while holding one. Once planted, the bean grows visibly through an animated sequence and enters a dormant state. When revisited as an adult, if water has been sprinkled on the bean or the relevant switch flag is active, the plant will emerge, rapidly grow through a series of phases, and then become a flying platform that follows a preset path. The platform lifts the player through the air, often used to reach otherwise inaccessible areas.

Throughout its lifecycle, the bean plant transitions through complex visual and physical states—sprouting leaves, growing a stalk, flattening to create a platform, and rotating while in motion. Leaf and stalk animations are handled using sinusoidal transformations to simulate natural swaying and growth. Once activated, the platform loops its path indefinitely unless the player dismounts, at which point it resets to its starting position. The actor can also be trampled by Epona, triggering a destruction sequence with fragments and disabling its collision.


Obj_Bean

ID: 0126
Object: 011E
Known Default Requirements:
Requires a valid path with at least three points
Code Files: z_obj_bean.c
Actor Variables
v &>> 0x1F00 = Path //1F is no path
v &>> 0x003F = Switch Flag
rz &>> 0x0003 = Speed, Acceleration
00 [0000] 3.0 velocity, 0.3 acceleration
01 [0001] 10.0 velocity, 0.5 acceleration
02 [0002] 30.0 velocity, 0.5 acceleration
03 [0003] 3.0 velocity, 0.3 acceleration
Level Elements Mini Game

Big Goron Pot

The Bg_Spot18_Basket actor represents a rotating pot minigame basket found in Goron City. It begins stationary with a lid and starts rotating once a switch is activated, triggering a short cutscene. As it spins in a circular path with increasing speed and wobble, the player can attempt to throw a bomb into the basket. If successful, the pot reacts by spinning rapidly and dispensing a reward, which varies depending on its final rotation angle. The basket then resets or enters a new state depending on the reward logic and game progression.


Bg_Spot18_Basket

ID: 015C
Object: 00AF
Code Files: z_bg_spot18_basket.c
Actor Variables
//Gives heart piece when bomb is dropped inside
v &>> 0x3F00 = Switch Flag //Lid disappears, starts spinning on floor
v &>> 0x003F = Collectible Flag //Heart Piece
Destructible Level Elements

Bird Statue and Wall (Shadow Temple)

The Bg_Haka_Zou actor represents destructible and movable environmental objects in the Shadow Temple, including the giant bird statue, bombable skull walls, piles of rubble, and miscellaneous falling debris. Each variation is defined by the actor’s parameters and reacts to specific triggers such as bombs, switches, or collisions with the player.

When initialized, the actor determines its type (e.g., bird statue, skull wall, rubble) and sets up its collider and scale appropriately. If the object is already destroyed (based on the switch flag), it won't spawn. Otherwise, it sets up collision, loads the correct model from the required object set (either haka_objects or hakach_objects), and waits for interaction.

For example, the giant bird statue responds to a switch being activated—triggering a dramatic cutscene where it explodes in sections, shifts position with shaking effects, and then topples over using calculated step-to logic in both the Z and Y axes, enhanced by visual effects like dust clouds and explosion bursts. Similarly, the bombable wall and rubble fragments can be destroyed when hit, causing debris to fly, smoke to rise, and actors to spawn or despawn accordingly.

Some rubble actors (when assigned the STA_UNKNOWN type) serve as small falling pieces spawned dynamically. They rotate and bounce on the ground briefly before disappearing. These add realism to the destruction sequences, like when a wall collapses and throws fragments outward.

The actor leverages shared explosion and debris effect functions such as EffectSsHahen_SpawnBurst and func_800286CC, combined with random position offsets and timers, to create varied and dynamic visuals. Its update function handles both physical motion (like falling due to gravity) and state changes based on timers.


Bg_Haka_Zou

ID: 00BE
Object: 0069
Code Files: z_bg_haka_zou.c
Actor Variables
v &>> 0x3F00 = Switch Flag
v &>> 0xFF = Type
00 [0000] Giant Bird Statue //Bombing it makes it fall
01 [0001] Bombable Wall of Skulls
02 [0002] Bombable Rubble //FIXME: Need specific object?
03 [0003] Nothing
0004 [0004]+ Crashes after area is loaded
Collectables Effects Item Level Elements

Blue Fire Flames

The Blue Fire actor (En_Ice_Hono) plays a key role in melting Red Ice and unlocking key areas. This versatile actor has multiple forms: the capturable flame in bottles, dropped flames that fall and spread, and smaller ambient flames that animate and fade out. Each type has its own behavior, collider setup, and light effect logic. When active, Blue Fire emits a glowing light, plays a unique sound, and animates a scrolling flame texture. Capturable flames offer interaction with Link's bottle system, while dropped and spread flames have collision-based logic for Red Ice melting.


En_Ice_Hono

ID: 00F0
Object: 0001
Code Files: z_en_ice_hono.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Group of small blue flames, disappear
0001 [0001]+ Blue flame, disappears
FFFF [FFFF] Blue flame, targetable
Level Elements Weapon

Bomb

The actor file z_en_bom.c defines the En_Bom actor — the standard bomb in The Legend of Zelda: Ocarina of Time that has been dropped or thrown and is actively lit (fuse burning). It is fully physical, has a countdown timer, can bounce off surfaces, interact with enemies and the environment, and explodes after a set time or on contact.


En_Bom

ID: 0010
Object: 0001
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Bomb
0001 [0001] Bomb Shadow
Destructible Level Elements Obstacle

Bombable Rock Wall (Spirit Temple)

The Bg_Jya_Bombiwa actor represents a bombable wall in the Spirit Temple’s upper room. It's a destructible barrier that disappears when hit by a bomb, triggering an effect and updating a switch flag.


Bg_Jya_Bombiwa

ID: 015B
Object: 00F1
Code Files: z_bg_jya_bombiwa.c
Actor Variables
v &>> 0x3F = Switch Flag
Destructible Level Elements Obstacle

Bombable Stone Wall

The Bg_Mizu_Bwall actor represents the bombable walls found within the Water Temple. These destructible walls are part of the temple’s puzzle mechanics and are visually distinct yet designed to blend with their surroundings, challenging players to spot and destroy them using bombs. Each wall instance uses dynamic collision and triangle-based hit detection (ColliderTris) to register when it's been hit by a damaging effect. Upon receiving a hit, it disables its collision, hides its display list (making it visually disappear), and plays debris and sound effects to simulate destruction. The actor uses switch flags to ensure destroyed walls stay gone permanently after being blown up. It supports multiple configurations depending on its param value, such as floor segments, vertical walls, and special areas like Ruto's room. Notably, several bugs in the setup result in incorrect collision meshes for some wall types, as indicated in the comments. The actor also includes special rendering logic with dynamic alpha blending, allowing parts of the wall to appear semi-transparent or fully visible depending on the current water level in the temple, enhancing immersion and signaling progress.


Bg_Mizu_Bwall

ID: 01BA
Object: 0059
Code Files: z_bg_mizu_bwall.c
Destructible Level Elements Obstacle

Bombable Wall

The Bg_Breakwall actor represents bombable walls and destructible floors in Ocarina of Time, including special cases like the lava cover in King Dodongo’s chamber. Depending on the wall type, it loads the appropriate display list and collision data from either the object_bwall or object_kingdodongo object files. The wall checks for damage using a quad collider and responds to explosion collisions by spawning fragment debris (En_A_Obj), playing destruction sound effects, triggering cutscenes (such as the Dodongo’s Cavern opening), and setting switches or event flags. Some variants, like the lava cover, move slowly to a designated position post-boss defeat, while others disappear instantly. The system ensures that the correct object is loaded before setting up rendering or collision. The actor supports multiple destruction geometries, scales visual effects accordingly, and uses actor parameters to determine wall type and switch flag logic.


Bg_Breakwall

ID: 0059
Object: 0001
Actor Variables
v &>> 0x8000 = Play Discovery Sound
v &>> 0x6000 = Type
00 [0000] (018A) Bombable Wall, Cutscene //plays Dodongo's Cavern intro
01 [2000] (018A) Bombable Wall
02 [4000] (0019) Bombable Floor
v &>> 0x003F = Switch Flag
Destructible Level Elements Obstacle

Bombable Walls (Fire Temple)

The Bg_Hidan_Kowarerukabe actor represents the breakable bombable walls and cracked floors in the Fire Temple. This actor is initialized based on its type—either a cracked floor, standard bombable wall, or a larger version of the wall—and is defined with appropriate collision data and a spherical collider that detects explosive hits. When the player places a bomb near the object and it detonates within the collider’s range, the actor triggers a destruction sequence: particle fragments (called kakera) burst outward in randomized directions, creating a dramatic visual effect. Each type has its own unique debris spread pattern and sound effect. After breaking, a switch flag is set to ensure the wall or floor doesn’t reappear when the player re-enters the room. This actor uses dynamic collision to interact properly with the environment, and it self-terminates after being destroyed. Through this setup, the actor provides a reusable, modular mechanic for puzzle-solving and progression, relying entirely on in-game physics and effects to communicate its breakability.


Bg_Hidan_Kowarerukabe

ID: 00CF
Object: 002C
Code Files: z_bg_hidan_kowarerukabe.c
Actor Variables
v &>> 0x3F00 = Switch Flag
v &>> 0xFF = Type
00 [0000] Cracked stone floor
01 [0001] Bombable stone wall
02 [0002] Large bombable stone wall
Level Elements Weapon

Bombchu

The En_Bom_Chu actor is the Bombchu — a small, autonomous bomb used in Ocarina of Time. Unlike regular bombs, Bombchus travel along surfaces (walls, floors, ceilings) in the direction they are released, making them ideal for puzzles and reaching otherwise inaccessible targets.

Upon activation, the Bombchu orients itself based on the player's direction, calculates its movement vectors, and navigates dynamically by detecting surface normals and adjusting rotation accordingly using EnBomChu_UpdateFloorPoly. It travels forward while sticking to the surface, creating a realistic "crawling" effect across terrain geometry.

Visual effects include dual motion blur trails using EffectBlure_AddVertex, blinking red light based on a countdown timer, and ripple or bubble effects if underwater. If the timer expires, it contacts another actor, or it can no longer find a path forward, the Bombchu self-destructs by spawning a regular bomb (En_Bom actor) which immediately explodes. It also plays unique sliding and explosion sound effects.

The Bombchu's code demonstrates complex surface-following logic, model-space to world-space transformations for effects, and a blend of visual/audio feedback to bring this explosive gadget to life.


En_Bom_Chu

ID: 00DA
Object: 0001
Code Files: z_en_bom_chu.c
Level Elements Puzzle Weapon

Bombflower

The En_Bombf actor represents Bomb Flowers in Ocarina of Time. These special plants grow explosive bombs that can be picked up by Link or detonated in place through various triggers, including attacks, proximity to burning sticks, or direct player interaction. Bomb Flowers go through a lifecycle: they grow to full size, wait to be picked or struck, spawn a live bomb (BOMBFLOWER_BODY), and eventually explode. When active, the bombs behave like standard thrown explosives—bouncing, sparking, and flashing as the timer counts down. If submerged in deep water, the bomb is extinguished and removed. The explosion triggers a blast effect, shockwave, sound, and temporary lighting changes, and damages nearby actors. Bomb Flowers can regrow over time, and the system includes logic to prevent multiple grabs or glitches with player carrying states. Their visuals are dynamically scaled and colored based on fuse status, and they include a segmented, billboarded spark effect to simulate ignition. Note: To display a proper Bomb Flower in-engine, the Type parameter must be set to Default. In Fast64, this is incorrectly set to "Bomb" by default, which instead spawns a detached, live bomb actor—BOMBFLOWER_BODY.


En_Bombf

ID: 004C
Object: 0031
Code Files: z_en_bombf.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Bomb
0001 [0001]+ Invisible Bomb
Level Elements

Bongo Bongo’s Drum

The Bg_Sst_Floor actor represents the bouncy drum floor used during the Bongo Bongo boss fight. It’s a dynamic actor that detects when the player or items land on it, and responds by compressing and bouncing them upward. This actor uses vertex manipulation and camera logic to simulate the effect of a flexible, percussive surface. When the player falls onto the drum from a significant height, the drum "plays a beat" by oscillating up and down and launching the player (and nearby collectibles) back into the air. This bounce height depends on the distance from the center of the drum—closer to the rim results in a higher launch. The drum's movement is visually animated by updating multiple vertices in the collision mesh in real time, creating a squash and stretch effect. The camera perspective also shifts dynamically depending on whether the player is on the drum, enhancing the boss fight's cinematic quality.


Bg_Sst_Floor

ID: 0166
Object: 00E2
Code Files: z_bg_sst_floor.c
Level Elements NPC

Bonooru the Scarecrow

The En_Kakasi3 actor represents Bonooru the Scarecrow, a friendly and musical NPC in The Legend of Zelda: Ocarina of Time. Found at Lake Hylia during both the child and adult timelines, Bonooru plays a key role in the Scarecrow Song side quest. As a child, Link can approach Bonooru to teach him a custom 8-note melody, which is saved in the game as the Scarecrow’s Song. Later, as an adult, this same scarecrow can recall and recognize the song, enabling Link to use it to summon Pierre (another scarecrow) in specific areas for hookshot access to otherwise unreachable locations.

Bonooru’s implementation features rich interaction systems. He uses a friendly dialog flow based on Link’s age and quest progress, offers a custom ocarina interface, and even uses a cinematic camera cutscene system for teaching and recalling the song. His behavior includes quirky animations such as spinning, hopping, or swaying in response to player input during the ocarina sequence. Internally, the actor uses skeletal animations and has a cylindrical collider flagged as hookshot-compatible.

Bonooru's logic also manages multiple game states: recording a new song, verifying the player's previous song, or rejecting attempts if certain conditions aren’t met. Debug messages suggest heavy developer testing of these sequences. Bonooru’s joyful energy and his role in enabling creative traversal give him a memorable and functional place in the game’s world, rewarding players who engage with him by unlocking unique shortcuts and secret locations.


En_Kakasi3

ID: 01CA
Object: 0154
Code Files: z_en_kakasi3.c
Level Elements Obstacle Switch Water Level

Bottom of the Well Water Level Changer

The Bg_Haka_Water actor is responsible for dynamically changing the water level in Bottom of the Well. Controlled by a switch flag, it raises or lowers the water level in real time, affecting the entire area’s water box configuration. Upon initialization, it checks whether the switch is active to determine if the water should start in a raised or lowered state. When the player toggles the corresponding switch, the actor triggers a gradual transition to the new water height, updating all water boxes in the area accordingly. Visually, the actor renders a translucent water ring and animated waterfall effect while the water level is changing, and these are hidden when the water is fully lowered. It also plays appropriate sound effects during movement. This actor allows for puzzle mechanics involving altering water heights to access new areas or items.


Bg_Haka_Water

ID: 00D7
Object: 008D
Code Files: z_bg_haka_water.c
Actor Variables
v &>> 0x3F = Switch Flag //If set, water level is lowered
Collectables Destructible Level Elements

Breakable Pot

The Obj_Tsubo actor represents breakable pots found throughout dungeons and overworld areas. When placed in a scene, this actor spawns as a static pot that the player can interact with—either by attacking it, throwing it, or lifting it. If struck or thrown against a surface, the pot shatters into fragments using the EffectSsKakera visual effect and may drop a collectible item like a rupee, heart, or magic jar depending on parameters encoded in its params. The pot can also break in water, generating a splash effect. It uses a cylinder collider for detecting interactions and relies on nearby proximity to the player before activating collision to save performance. The actor's state machine transitions between waiting for required object data (for different pot models), idle, lifted, and thrown states. Upon being picked up, it sets itself to follow the player and later transitions to a thrown state with randomized spin applied to its rotation. If the thrown pot hits the ground or a wall, it breaks and disappears, completing its lifecycle.


Obj_Tsubo

ID: 0111
Object: 0001
Code Files: z_obj_tsubo.c
Actor Variables
v &>> 0x7E00 = Collectible Flag
v &>> 0xFF = Collectible
Level Elements

Broken Drawbridge, Fences

The Bg_Spot00_Break actor represents destructible scenery in Hyrule Field, specifically the broken drawbridge near the castle and, in some cases, a fence. This actor only appears when Link is an adult; if he's still a child, the actor deletes itself immediately upon initialization. Depending on the value of the actor's parameters, it either loads collision and a model for the ruined drawbridge or the fence barrier. While the actor has no update behavior—it’s static once placed—it contributes to the game's storytelling by visually showing the aftermath of Hyrule’s fall during the seven-year timeskip. The draw function selects and renders the appropriate display list based on its type, helping to reflect the changed and more dangerous state of the world in the adult timeline.


Bg_Spot00_Break

ID: 0194
Object: 0166
Code Files: z_bg_spot00_break.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Broken Drawbridge
0001 [0001] Fences (Hyrule Field)
Destructible Level Elements Obstacle

Brown Bombable Boulder

The Obj_Bombiwa actor is a round, brown boulder that can be destroyed by explosions or heavy impact, such as from the Megaton Hammer. It serves as a destructible environmental obstacle and typically hides a passage, treasure, or pathway when broken. While idle, the boulder passively waits for specific damage input. When it is hit by a bomb, bombchu, or hammer, it shatters into multiple fragments with particle effects and sound, and may also trigger a chime if a specific bit in its params is set.

The boulder’s behavior is straightforward: it uses a cylinder collider to detect damage and triggers its destruction sequence upon valid impact. It cannot be moved or interacted with in any other way. The params field determines which switch flag will be set upon destruction and whether a success sound (correct chime) will play. Its transformation is randomized slightly at runtime to vary its appearance. Once destroyed, it removes itself from the scene and never returns unless the switch flag is cleared or the area is reloaded without persistent flags.

 


Obj_Bombiwa

ID: 0127
Object: 0163
Code Files: z_obj_bombiwa.c
Actor Variables
v &>> 0x8000 = Play Puzzle Solved When Destroyed
v &>> 0x3F = Switch Flag
Collectables Destructible Level Elements

Bush/Grass

The En_Kusa actor represents a bush that can be cut with a sword or picked up and thrown by the player. It comes in three types that define how it behaves when interacted with: Type 0 bushes are destroyed upon being cut and do not return; Type 1 bushes can be picked up and thrown, and after landing they will regrow over time; Type 2 bushes can only be cut but will also regrow after a short delay. When destroyed—either by cutting or impact—they break into fragments using particle effects and may drop a random collectible, such as rupees, hearts, or seeds. Some variants can also spawn insects when slashed, depending on their params settings. The bush transitions between various states, including idle, picked up, falling, broken, and regrowing, using internal timers and state functions. When regrowing, the bush smoothly scales back to full size and reactivates its collider for reuse. The actor also handles its physics and collisions during the fall state and makes splashes if it lands in water. Additionally, it has custom draw logic that changes the model based on its destroyed state.


En_Kusa

ID: 0125
Object: 0001
Known Default Requirements:
Scene: Overworld
Code Files: z_en_kusa.c
Actor Variables
//Liftable & cut-able
v &>> 0x0003 = Type
00 [0000] (0002) Normal shrub. Random drops.
01 [0001] (012B) Cut-able, regenerating grass //Drops: Heart, Arrows or Deku Seeds
02 [0002] (012B) Cut-able grass //Set drop table via Random Drop Table param
03 [0003] Nothing
v &>> 0x0010 = Spawns set of 3 bugs
v &>> 0xFF00 = Random Drop Table
FF [FF00] No Table
Entrance Gate Level Elements Obstacle

Cell Door (Gerudo Fortress)

The Door_Gerudo actor is a metal sliding grate door used primarily in the Gerudo Fortress area. It functions as a locked cell door that can be opened by using a small key, typically acquired by freeing carpenters or completing certain objectives. When approached with the correct conditions met, the door animates by sliding upward, accompanied by appropriate sound effects. If the player lacks the required key or collectible, Navi will provide a corresponding message, and the door will remain shut.


Door_Gerudo

ID: 0172
Object: 014B
Code Files: z_door_gerudo.c
Actor Variables
//Requires specific key to unlock door
v &>> 0x003F = Switch Flag
v &>> 0x1F00 = Key Collectable Flag //Flag must be set to open door
Invisible Level Elements Obstacle Puzzle

Clear Block

The Bg_Gnd_Darkmeiro actor handles multiple environmental elements used in the Shadow Trial of Ganon's Castle, including invisible paths, clear blocks, and block timers. Invisible paths are only visible through the Lens of Truth and serve as hidden walkways over pits. Clear blocks can either remain static or appear temporarily when a nearby switch is activated—these dynamic ones fade out based on a countdown timer, with their collision toggled on or off accordingly. There's also a timer-based controller actor that monitors multiple switches and ensures blocks are only active for a limited duration. Through clever use of draw functions and switch flags, this actor group creates the trial’s signature illusion and timing-based platforming challenges.


Bg_Gnd_Darkmeiro

ID: 01B4
Object: 0179
Code Files: z_bg_gnd_darkmeiro.c
Actor Variables
v &>> 0xFF00 = Nullable Switch Flag //If null, Enabled and ignoring switch flag input
v &>> 0xFF = Type
00 [0000] Nothing
01 [0001] Glass Block //appears when Switch Flag is set
02 [0002] Invisible Timer //See comments
//The timer works as such:

//The clear block's invisible timer actor manipulates the value of three switch flags:
//The Switch Flag (FlagA), Flag + 1 (FlagB), Flag + 2 (FlagC)

//FlagA is set to 0 if FlagB and FlagC are 0
//FlagA is set to 1 and timer started if either FlagB or FlagC are 1
//Before timer ends, FlagA is set to 0
//Aprox. 1 second later, FlagB and FlagC are zeroed

//Clear Block actors disappear ~2 seconds after the Switch Flag is zeroed to account for
//FlagA being zeroed before the timer runs out
Climbable Level Elements Puzzle

Climbable Metal Grating Bridge (Spirit Temple)

The Bg_Jya_Kanaami actor is a dynamic, climbable wire mesh platform that plays a key role in certain puzzle sequences—particularly in the Spirit Temple. It begins in a vertical orientation, acting as a wall the player can climb. When a specific switch is activated, the actor transitions into a new animation state, rotating forward 90 degrees to become a horizontal bridge. This transformation is accompanied by a short cutscene and sound effects to emphasize the movement. The transition is not instant: the actor gradually tilts forward over several frames, simulating weight and realism. Once the transformation completes, the actor becomes static again, permanently staying in its bridge orientation for the rest of the scene.


Bg_Jya_Kanaami

ID: 00FD
Object: 00F1
Known Default Requirements:
object_jya_obj
Code Files: z_bg_jya_kanaami.c
Actor Variables
v &>> 0x003F = Switch Flag
Effects Level Elements

Cloud Ring (Death Mountain)

The Bg_Spot16_Doughnut actor renders the iconic donut-shaped cloud circling Death Mountain in Ocarina of Time. It appears in various scenes such as Kakariko Village and the Temple of Time exterior, with its size adjusting depending on the viewpoint. The cloud can either remain static or enter a special "expanding" state, gradually growing in size and fading out to simulate atmospheric changes. When the fire temple event hasn't been completed, the cloud displays a fiery texture to reflect the mountain’s volcanic unrest. Once the player progresses the story, the fiery effect fades away, leaving a calm white ring of mist. This subtle visual actor adds both ambiance and environmental storytelling, helping signal major plot changes in a visually memorable way.


Bg_Spot16_Doughnut

ID: 00E5
Object: 017A
Code Files: z_bg_spot16_doughnut.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Gray
0001 [0001] Expanding, gray //Unused?
0002 [0002] Expanding, gray //Unused?
FFFF [FFFF] Default
Collectables Item Level Elements

Collectible Items

The Item_Etcetera actor in Ocarina of Time is a highly adaptable collectible item handler used to spawn various static items in the game world. Upon initialization, it reads an 8-bit value from its params to determine what type of item it represents—ranging from bottles and shields to cutscene items like Ruto’s Letter or the Fire Arrow. It first loads the appropriate object file (e.g., gi_bottle, gi_arrow_fire) into memory using the dynamic object system and waits until it is fully loaded before activating. Once ready, the actor either displays the item normally or conditionally—such as only through the Lens of Truth for chest game items. Some items automatically disappear if corresponding event or treasure flags are already set, while others offer the item to the player if approached. Special effects like floating, sparkle particles, or falling with gravity are also handled based on the item type. Drawing is done using the GetItem_Draw() system, which shows a 3D model of the item from a defined list of draw IDs. This makes Item_Etcetera a versatile and reusable system for rendering world items that aren’t tied to treasure chests or immediate pickups.


Item_Etcetera

ID: 010F
Object: 0001
Code Files: z_item_etcetera.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] (00C6) Bottle
0001 [0001] (010B) Bottle with Ruto's Letter
0002 [0002] (00DC) Hylian shield
0003 [0003] (00BE) Quiver
0004 [0004] (00DB) Silver Scale
0005 [0005] (00DB) Golden Scale
0006 [0006] (00AA) Small Key
0007 [0007] (0158) Fire Arrow
Collectables Level Elements

Collectibles

En_Item00 actor defines the behavior of collectible items in Ocarina of Time, such as rupees, hearts, arrows, bombs, seeds, magic jars, keys, and special pickups like heart containers or shields. When these items are spawned—either from enemies, environmental triggers, or item drop tables—they are initialized with properties like scale, rotation, shadow, collision, and movement behavior. The file handles item interactions with the player, including automatic pickups or triggering a “Get Item” animation for major items. Items react to physics like gravity and ground collisions, often bouncing or sparkling while idle. Drawing functions render the appropriate item models and textures, while helper functions manage conditional replacements, spawning, and quantity control from predefined enemy drop tables. Overall, the file is a comprehensive system for spawning, animating, and collecting in-game item drops based on player state and context.

The core logic also includes a dynamic drop system, particularly for the ITEM00_FLEXIBLE type, which adjusts what item is spawned based on Link’s current needs. The flexible drop system determines item spawns based on Link’s current status. If Link has 1 or fewer hearts, a Healing Fairy is spawned. If he has 2 to 3 hearts, the game spawns 3 Recovery Hearts, or 3 Green Rupees if he’s at full health. For 4 to 5 hearts, it drops 1 Recovery Heart, or 1 Green Rupee if Link is already at full health. If Link has no magic, a large Magic Jar is dropped—unless magic hasn’t been unlocked yet, in which case nothing is spawned. If Link is a child with 5 or fewer Deku Seeds, he receives 5 more, but only if he owns a Slingshot. If he’s an adult with 5 or fewer Arrows, he gets 10 Arrows—assuming he has a Bow. Similarly, if he has 5 or fewer Bombs, he gets 5 Bombs, but only if he has a Bomb Bag. If none of these apply but Link has 10 or fewer Rupees, a Red Rupee is dropped. If none of the above conditions are met, no item is spawned.


En_Item00

ID: 0015
Object: 0001
Code Files: z_en_item00.c
Actor Variables
v &>> 0x3F00 = Collectible Flag
Some types won't work under certain conditions
v &>> 0xFF = Type
00 [0000] Green Rupee
01 [0001] Blue Rupee
02 [0002] Red Rupee
03 [0003] Recovery Heart
04 [0004] Bomb
05 [0005] Arrow (1) //Used for collecting arrows stuck in walls [?]
06 [0006] Heart Piece
07 [0007] Heart Container [Early]
08 [0008] Deku Seeds (5) or Arrows (5)
09 [0009] Deku Seeds (5) or Arrows (10)
0A [000A] Deku Seeds (5) or Arrows (30)
0B [000B] Bombs (5)
0C [000C] Deku Nut
0D [000D] Deku Stick
0E [000E] Large Magic Jar
0F [000F] Small Magic Jar
10 [0010] Deku Seeds (5) or Arrows (5)
11 [0011] Small Key
12 [0012] Flexible Drop //Used for randomized drops, see comments. Will spawn as an invisible Recovery Heart in some situations
13 [0013] Giant Orange Rupee
14 [0014] Large Purple Rupee
15 [0015] Deku Shield //May require Child Link's object [?]
16 [0016] Hylian Shield
17 [0017] Zora Tunic
18 [0018] Goron Tunic
19 [0019] Bombs (5)
1A [001A]+ Invisible Item [?]
Level Elements NPC

Cow

The En_Cow actor represents the cows found throughout The Legend of Zelda: Ocarina of Time, functioning both as ambient characters and interactive NPCs. These cows are uniquely responsive to the player playing Epona's Song nearby. If Link plays the song and is close enough, the cow will offer a bottle of Lon Lon Milk—assuming the player has an empty bottle. The cow actor handles dialog interactions, item giving, animation control, and attention targeting.

Each cow is composed of two actor instances: a main body and a tail. The body actor manages interactions, sound effects, head tracking, and animations like chewing or breathing. The tail actor is spawned as a child and plays idle and swishing animations independently. Both parts use skeletal animation (SkelAnime) and are drawn with flexible limb transformations. For example, the cow’s head rotates to follow the player if they’re nearby.

The cow has a dual collision system using two cylinders—front and rear—to simulate its body. When Epona’s Song is played, all cows attempt to give milk, but only one will succeed based on distance and orientation to Link. This is managed through shared global flags (R_EPONAS_SONG_PLAYED and internal cowFlags), ensuring only one milk is given per song play.

Cows are also context-sensitive: some only appear if certain conditions are met, such as being an adult or having unlocked a specific event. For instance, the cow in Link’s house only appears if the player has completed the Epona-related mini-game.

Overall, the En_Cow actor is a well-crafted, immersive NPC system with subtle personality and useful functionality, showcasing thoughtful interaction design in the game world.


En_Cow

ID: 01C6
Object: 018B
Code Files: z_en_cow.c
Actor Variables
v &>> 0xFFFF = #N/A
0000 [0000] Cow
0001 [0001] Tail only
0002 [0002]+ Crashes
Enemy Level Elements NPC

Cucco

The En_Niw actor is the Cucco (chicken) in Ocarina of Time. It controls everything from idle movement and flight mechanics to the infamous swarm attack when Link repeatedly hits a Cucco. This actor can either be passive, following a patrol or idle behavior, or enter an aggressive mode that spawns flying attack Cuccos after taking enough damage. The file also manages feather particle effects for realism during flapping or fleeing. It includes distinct logic for special Cuccos in areas like Zora’s River or mini-games, checking event flags to determine whether the actor should be spawned. The behavior changes based on parameters and player interactions, like being picked up, thrown, or attacked. Animations are handled via skeleton-based animation logic (SkelAnime), and collision is managed using cylinder colliders. Cuccos also respond to the environment—floating when in water, reacting to walls, and resetting if they fall out of bounds. Overall, the file defines the Cucco as a complex, reactive NPC with multiple states and a notorious defense mechanism that players love (or fear).


En_Niw

ID: 0019
Object: 0013
Code Files: z_en_niw.c
Actor Variables
v &>> 0xFFFF = Type
0004 [0004] Flees when approached //Cucco hidden in the box in Kakariko
0008 [0008] Doesn't Flee
000B [000B] Doesn't Flee
000C [000C] Doesn't Flee
000E [000E] Non-Targetable //The non-super cuccos in the Ranch house
FFFF [FFFF] Default
Enemy Level Elements

Cucco (Attacking)

The En_Attack_Niw actor represents one of the attacking Cuccos that swarm the player after repeated abuse of a regular Cucco. These flying, non-solid actors home in on the player using randomized vectors relative to the camera. They are spawned and controlled by the parent Cucco (En_Niw) and can knock back the player upon contact. Each attacker has its own animation, randomized rotation, and sound effects like crowing and flapping. Once off-screen or after some time, they despawn. Their behavior is primarily aesthetic and meant to overwhelm rather than cause significant damage.


En_Attack_Niw

ID: 0144
Object: 0013
Code Files: z_en_attack_niw.c
Collectables Level Elements NPC

Cursed Skulltula People

The En_Ssh actor represents the cursed members of the Fabulously Rich Family in Kakariko Village—also known as the Cursed Skulltula people. These NPCs were transformed into spider-like creatures due to their greed and are found inside the House of Skulltula. As the player collects Gold Skulltula Tokens throughout the game, each token helps break the curse on one family member. The actor tracks how many tokens the player has collected and updates its state accordingly. When a family member is freed, they return to human form, thank the player, and offer a unique reward. Their animations and dialog vary based on how many members have been saved and whether they have already given their reward.


En_Ssh

ID: 0188
Object: 015E
Actor Variables
v &>> 0xFFFF = Type //Disappear when gold skulltula requirements are met
0000 [0000] Main Hyliantula (gold skulltulas < 100)
0001 [0001] Hyliantula without an arm (gold skulltulas < 10)
0002 [0002] Hyliantula without an arm (gold skulltulas < 20)
0003 [0003] Hyliantula without an arm (gold skulltulas < 30)
0004 [0004] Hyliantula without an arm (gold skulltulas < 40)
0005 [0005] Hyliantula without an arm (gold skulltulas < 50)
0006 [0006] Hyliantula without an arm (gold skulltulas < 60)
0007 [0007] Hyliantula without an arm (gold skulltulas < 70)
0008 [0008] Hyliantula without an arm (gold skulltulas < 80)
0009 [0009] Hyliantula without an arm (gold skulltulas < 90)
000A [000A] Hyliantula without an arm (gold skulltulas < 100)
000B [000B] Hyliantula without an arm (gold skulltulas < 110)
000C [000C]+ Continues on with this pattern.
8000 [8000]+ Nothing.
Cutscene Effects Level Elements

Cutscene Environment Effects & Objects

The DemoKankyo actor in Ocarina of Time is a powerful background visual and cutscene effect controller used in some of the game's most iconic moments, such as warp song sequences, the Door of Time opening, magical sparkles, falling rocks, rain, and moving clouds. Depending on its params, it loads specific visual effects like blue rain in the Temple of Time, warp sparkles tied to different songs, or large floating rocks in cutscenes. These effects are often synchronized with cutscene camera paths, sound effects, and player animations using internal timers and logic. The actor dynamically changes its behavior based on the scene and Link's age (child/adult), playing different animations or triggering different events (e.g., opening the Door of Time or starting a warp cutscene). It uses helper functions for vector math, randomized movement patterns, alpha blending, scaling, and sound triggers to create immersive transitions and mystical moments. DemoKankyo is essential for creating cinematic atmosphere and enhancing emotional beats in the game’s storytelling.


Demo_kankyo

ID: 008C
Object: 005E
Code Files: z_demo_kankyo.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] (0092) Blue rain effect used in Goddess/Triforce cutscenes
0001 [0001] (0092) Blue rain effect used in Goddess/Triforce cutscenes //Spawned in Temple of Time, why?
0002 [0002] (0092) Giant Rock 1 //used in Dins Creation of Hyrule cutscene
0003 [0003] (0092) Giant Rock 2 //used in Dins Creation of Hyrule cutscene
0004 [0004] (0092) Giant Rock 3 //used in Dins Creation of Hyrule cutscene
0005 [0005] (0092) Giant Rock 4 //used in Dins Creation of Hyrule cutscene
0006 [0006] (0092) Giant Rock 5 //used in Dins Creation of Hyrule cutscene
0007 [0007] (0001) Fluffy Clouds //Used when talking to zelda at the end of the game
0008 [0008] (00B6) Unknown //object_gi_melody, musical note item
0009 [0009] (00B6) Unknown //object_gi_melody, musical note item
000A [000A] (00B6) Unknown //object_gi_melody, musical note item
000B [000B] (00B6) Unknown //object_gi_melody, musical note item
000C [000C] (00B6) Unknown //object_gi_melody, musical note item
000D [000D] (005E) Door of Time
000E [000E] (005E) Plane of yellow light
000F [000F] (0001) Warp Song leaving effect
0010 [0010] (0001) Warp song arriving effect
0011 [0011] (0001) Sparkly effect
Level Elements Mini Game NPC Puzzle

Dampe’s Ghost

The En_Po_Relay actor (z_en_po_relay.c) is Dampé's ghost from Ocarina of Time, central to the iconic graveyard racing minigame in the adult timeline. This NPC starts idle and interacts with the player through dialog, initiating a race through the graveyard's winding crypt passages. During the race, Dampé floats along a set of predefined waypoints (D_80AD8C30) while dynamically adjusting his speed and occasionally spawning flame traps (En_Honotrap) to hinder the player. His AI considers the player’s distance, alternative paths, and whether the player possesses the Hookshot to maintain a competitive challenge.

The actor has multiple phases: idle, initiating the race, navigating through the course, concluding the race, engaging in post-race dialogue, and finally disappearing in a particle effect while dropping a reward (a Piece of Heart or rupees depending on the result). The system also updates the high score if the player finishes under a set time. The rendering includes animated eye textures, a glowing lantern light with dynamic color flickering, and a halo, enhancing the ghostly aesthetic.

This actor skillfully combines AI path-following, dynamic difficulty scaling, environmental interaction, and visual feedback to deliver one of the game’s most memorable and atmospheric side quests.


En_Po_Relay

ID: 0122
Object: 0089
Code Files: z_en_po_relay.c
Item Level Elements

Deku Shield

The z_item_shield.c file defines the behavior of the Deku Shield as a dropped or burning item. This actor appears in two primary contexts: Dropped Item (params = 0) – When the Deku Shield is found as a pickup in the world. Burning Shield (params = 1) – When Link’s equipped Deku Shield catches fire and is destroyed. In the dropped state, the shield remains idle until it is collected or damaged by an attack, at which point it gains physics and can bounce. After a countdown, it disappears if not collected. In the burning state, the shield detaches from Link's hand and creates a fiery effect trail using the EffectSsFireTail_SpawnFlame function, simulating it burning up mid-air. Both states utilize custom rotation logic, collision detection, and graphical effects. The rendering function conditionally draws the shield depending on internal flags, allowing it to vanish visually while still being active logically (e.g., when it's burning). This file elegantly blends item collection, physics, and visual effects into a seamless game mechanic.


Item_Shield

ID: 00EE
Object: 0015
Code Files: z_item_shield.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Collectible Deku Shield
0001 [0001] Burning Deku shield
0002 [0002]+ Crashes
Level Elements Puzzle

Deku Tree Puzzle Elements

The Bg_Ydan_Hasi actor handles several puzzle elements within the Deku Tree dungeon. It includes three distinct object types: the animated water plane on B1, the floating platform that rides above it, and the set of three blocks that rise and fall on 2F when triggered by a switch. The floating block gently oscillates in position and height, synchronized with sine wave functions for smooth movement. The water plane itself moves up and down depending on switch activation, altering the water level in the room and affecting platform behavior. The three rising blocks activate during a cutscene and elevate to a set height before returning after a timer ends. These coordinated elements contribute to a multi-step environmental puzzle, enhancing the dungeon’s interactivity and depth.


Bg_Ydan_Hasi

ID: 0050
Object: 0036
Code Files: z_bg_ydan_hasi.c
Actor Variables
v &>> 0xFF00 = Input
v &>> 0xFF = Type
00 [0000] Back and forth moving Platform
01 [0001] Water plane
02 [0002] Three rising platforms
03 [0003]+ Invisible object
Level Elements NPC Plants

Deku Tree Sprout

The Deku Tree Sprout (Obj_Dekujr) actor represents the small tree that emerges in Kokiri Forest after completing the Forest Temple. This friendly NPC only appears when Link is an adult and has obtained the Forest Medallion, serving as a narrative milestone that acknowledges Link's progress and reveals important story details about his origins. During a specific cutscene, the sprout rises from the ground using scripted motion defined by the cutscene data, with its position and rotation animated frame by frame. If the game is not currently running a relevant cutscene, or if the player is still a child or hasn't cleared the temple, the actor automatically despawns. It uses a cylindrical collider for interaction, allowing the player to speak with it outside of cutscenes. Visually, the sprout combines solid and semi-transparent display lists to create a glowing, magical effect, further enhancing its significance as a symbol of renewal in the forest.


Obj_Dekujr

ID: 00D3
Object: 00CC
Known Default Requirements:
Adult Link Only | Forest Medallion Obtained
Code Files: z_obj_dekujr.c
Destructible Level Elements

Destructible Wall (Death Mountain Crater)

The Bg_Spot17_Bakudankabe actor represents a bombable wall located in the Death Mountain Crater area of Ocarina of Time. When initialized, it checks a switch flag to determine whether the wall has already been destroyed and, if so, removes itself from the game world. Otherwise, it registers dynamic collision using a pre-defined collision header. During gameplay, if the player approaches and uses a triggering method like a bomb, the actor detects the hit and activates a destruction sequence. This sequence includes spawning debris shards using EffectSsKakera, playing an explosion and chime sound effect, and displaying layered draw calls to show cracks and wall fragments. After the destruction, it sets the corresponding switch flag to ensure the change is saved and despawns the actor. This destructible wall adds an element of exploration and progression within the fiery environment of the crater.


Bg_Spot17_Bakudankabe

ID: 01A9
Object: 00B1
Code Files: z_bg_spot17_bakudankabe.c
Actor Variables
//Graphics may glitch when it's destroyed, but will fix after it disappears
Destructible Level Elements

Destructible Wall (Desert Colossus)

The Bg_Spot11_Bakudankabe actor represents a destructible wall in the Desert Colossus area of Ocarina of Time. This actor is designed to respond to bomb damage and simulates a crumbling wall effect when destroyed. Upon initialization, it sets up collision using a cylindrical collider and loads the appropriate collision data and display list for the wall. If the corresponding switch flag has already been triggered—indicating the wall was destroyed in a previous visit—the actor deletes itself. During gameplay, if the wall is hit (typically by a bomb), it triggers a sequence of visual effects by spawning debris (EffectSsKakera) and dust clouds to simulate an explosion. It also plays sound effects for the wall breaking and the item chime, sets a switch flag so the destruction is remembered in future visits, and removes itself from the game world. This kind of destructible environment adds both interactivity and a sense of progression to the game’s world.


Bg_Spot11_Bakudankabe

ID: 019F
Object: 016F
Code Files: z_bg_spot11_bakudankabe.c
Destructible Level Elements

Destructible Wall (Zora’s Fountain)

The Bg_Spot08_Bakudankabe actor represents a destructible wall found in Zora’s Fountain in Ocarina of Time. This wall can be blown up with bombs, revealing a hidden passage. Upon initialization, the actor checks if the wall has already been destroyed in a previous session by checking a switch flag—if so, it removes itself from the game world. Otherwise, it sets up its joint-sphere collider and registers dynamic collision for interaction. If the player hits it with a bomb or another triggering method, it spawns debris effects using EffectSsKakera to simulate the wall shattering and generates dust clouds to enhance the impact. It also plays the appropriate breaking and chime sound effects before setting the switch flag and despawning itself. This destructible object adds a secret-revealing mechanic and a sense of discovery to the environment.


Bg_Spot08_Bakudankabe

ID: 01A8
Object: 0074
Code Files: z_bg_spot08_bakudankabe.c
Actor Variables
//Graphics may glitch when it's destroyed, but will fix after it disappears
v &>> 0x3F = Switch Flag
Destructible Level Elements Obstacle

Dodongo’s Cavern Entrance Blocking Rock

The Bg_Spot16_Bombstone actor represents the destructible bomb boulder seen in Death Mountain Crater. When first loaded, the actor checks whether it should appear as an intact boulder or as one of the flying debris fragments resulting from its destruction. The intact boulder sets up spherical and cylindrical colliders to detect player interaction and damage from explosives. When hit by a bomb, it triggers a dramatic breaking sequence: a brief camera cutscene plays, dust effects are spawned, and several smaller debris actors are launched outward with randomized spin and velocity. These debris pieces are separate actors that fall with gravity and disappear after hitting the ground or walls, sometimes creating more particles on impact. The boulder also sets a switch flag once destroyed, ensuring it doesn't reappear on reload. This actor handles the entire lifecycle of the destructible rock—from solid form to scattered fragments—using custom rotation, collision detection, and environmental feedback to make the event feel dynamic and responsive within the game world.


Bg_Spot16_Bombstone

ID: 00CD
Object: 00C2
Code Files: z_bg_spot16_bombstone.c
Actor Variables
v &>> 0x3F00 = Switch Flag
v &>> 0x00FF = Type
FF [00FF] Cavern Rock
00 [0000] Debris //Spawns Debris 05
01 [0001] Debris
02 [0002] Debris
03 [0003] Debris
04 [0004] Debris
05 [0005] Debris
Entrance Level Elements

Door

The En_Door actor handles all standard doors with handles, including both single and double doors across various dungeons and overworld locations. It supports multiple visual styles depending on the scene (such as Fire Temple or Shadow Temple doors) and switches between them by dynamically loading associated objects and display lists. Upon initialization, the actor checks the current scene and sets its door type (standard, locked, ajar, checkable, or timed) based on parameters and game state. It processes player interaction by checking proximity, orientation, and item availability (like small keys for locked doors). When the player approaches and interacts, the door plays a context-sensitive animation, sound effect, and in some cases, visual effects like magic bubbles. For double doors, it automatically spawns a mirrored child door and synchronizes their behavior. The actor also accommodates special cases like Talon’s door at Lon Lon Ranch or doors that behave differently at certain times of day. Animations, lock visuals, and draw behavior are managed with a flexible skeletal system, and the drawing function intelligently determines which side of the door to render based on camera angle and room configuration. This makes En_Door one of the most versatile and essential world-interaction actors in the game.


En_Door

ID: 0009
Object: 0001
Code Files: z_en_door.c
Actor Variables
//Model dependent on current scene
v &>> 0xFC00 = Transition Actor List Identifier //Reserved for use by the game engine
v &>> 0x0380 = Type
0000 [0000] Loads Rooms
0001 [0080] Small Key Locked //Loads Rooms. If double doors, then the left door is locked on one side and the right door is locked on the other.
0002 [0100] Loads Rooms
0003 [0180] Doesn't Load Rooms //Used for scene transitions
0004 [0200] Ajar //Slams shut on approach, then says "It won't open!" if you try to interact with it.
0005 [0280] Talking Door
0006 [0300] Time Locked Wooden Door //Dampe's Shack, unlocked between 18:00 to 21:00, else displays message
0007 [0380] Loads Rooms
v &>> 0x0040 = Double Door
v &>> 0x003F = Switch Flag //Used by locked doors only
v &>> 0x003F = Message ID (+0200)
Level Elements

Drawbridge Objects

The Bg_Spot00_Hanebasi actor represents the iconic drawbridge and torches at the entrance of Hyrule Castle in Ocarina of Time. It consists of a central bridge platform and two chain objects, which are spawned as child actors. The bridge's behavior dynamically changes based on time of day, story progression, and Link's age. During the day, the drawbridge lowers for child Link to enter the castle, and at night it raises unless specific quest items are collected, in which case a cutscene may be triggered. The raising and lowering of the bridge is smoothly animated, with accompanying sound effects and synchronized chain rotation. The chains include dynamic torch lights with randomized flame flickering and texture scrolling to simulate animated fire. The flames scale based on bridge position and camera context, providing visual feedback on the bridge’s state. If all three Spiritual Stones are collected, a cutscene transition is triggered upon approaching the bridge as child Link. Additionally, the actor manages light context insertion and removal for the torches, as well as subtle camera interactions to enhance immersion during bridge movement or fire effects.


Bg_Spot00_Hanebasi

ID: 004A
Object: 002F
Code Files: z_bg_spot00_hanebasi.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Chains
FFFF [FFFF] Drawbridge
Elevator Level Elements

Elevator (Forest Temple)

The Bg_Mori_Elevator actor in Ocarina of Time controls the iconic elevator platform in the Forest Temple. This dynamic platform connects two main areas of the dungeon—Room 2 and Room 17—via vertical movement based on the player's interaction and switch flags. When first initialized, the elevator checks if it has already been spawned to prevent duplication. If not, it sets up collision, draws the platform, and waits for the required texture bank to load. Once ready, it either remains idle, waits for the player to step on it, or moves based on room conditions and switch states.

The elevator's movement is smooth and physics-based, gradually accelerating and decelerating using custom interpolation logic (func_808A1800) to simulate realistic motion. Sound effects accompany the motion to reinforce feedback. Depending on which room the player is in and whether the player steps onto the elevator, the platform either rises to the upper floor, lowers to the basement, or aligns itself to a central resting point at 73.0f. The logic ensures a seamless and immersive experience, enhancing the dungeon’s spatial design and puzzle-solving flow.


Bg_Mori_Elevator

ID: 0087
Object: 0072, 0073
Code Files: z_bg_mori_elevator.c
Effects Level Elements

Environmental Effects

The ObjectKankyo actor in The Legend of Zelda: Ocarina of Time is responsible for rendering and managing environmental effects that enhance the atmosphere and storytelling across various parts of the game. Depending on the actor.params value, it can control a range of visual phenomena, such as floating fairies in Kokiri Forest, falling snow in cold regions, flickering lightning bolts during dramatic cutscenes, radiant sparkles triggered by sunlight hitting a gravestone, or the six colored energy beams that seal Ganon’s Castle. Each effect is handled through a shared system of state-based "effect slots" that store properties like position, scale, alpha, movement patterns, and animation frames. For example, the fairy effect dynamically spawns fluttering motes that trail the player when idle, using sinusoidal motion and screen wrapping for a magical feel. The snow effect generates randomized flakes in front of the camera that drift downward and wrap around when out of view, maintaining consistent visual density. Lightning effects are cutscene-driven and display animated textures with scaling and sound synced to the scene. The sunbeam sparkle and castle barrier beams are also linked to cutscene cues and game progress flags, respectively, with logic to load external object files as needed. Internally, the system leverages transformation matrices for precise positioning and orientation, as well as custom color blending for a vivid, layered look. By modularizing these effects and tying them to scene logic and player movement, ObjectKankyo plays a subtle but vital role in shaping the game’s mood and pacing, adding richness to the world of Hyrule without overburdening the core engine.


Object_Kankyo

ID: 0097
Object: 0001
Code Files: z_object_kankyo.c
Actor Variables
//All/Some? variables require their own object

v &>> 0xFFFF = Type
0000 [0000] (????) Flying Fairies, Dustmotes //Kokiri Forest/Lost Woods/Sacred Forest Meadow
0002 [0002] (????) ? //FIXME: Used in Kakariko Graveyard, cutscene 1
0003 [0003] (????) Snow
0004 [0004] (????) Electric Spark Effect //Kakariko Graveyard
0005 [0005] (0179) Colored Light Beams //From lower part of Ganon's Tower
Level Elements Puzzle Switch

Eye Statue

The Bg_Menkuri_Eye actor represents the rotating red "eye switches" found in the Gerudo Training Grounds. These switches activate when shot from a specific direction (not head-on), and only after all four have been triggered does the switch flag set, unlocking the corresponding mechanism (like opening a door or stopping a trap).

Upon initialization, each eye sets up a spherical collision area. If the eye detects a hit from a valid angle, it temporarily activates, playing a sound and increasing the global counter sNumEyesShot. If this counter reaches four, it triggers the switch flag and plays a success chime. Visually, the eye glows red when active, fades when idle, and uses transparency to indicate its state.

This actor plays a key role in timing-based or accuracy challenges in puzzle rooms, adding interactivity and requiring players to approach from strategic angles.


Bg_Menkuri_Eye

ID: 0062
Object: 004D
Known Default Requirements:
Gerudo Traning Ground Objects - MENKURI_OBJECTS
Code Files: z_bg_menkuri_eye.c
Actor Variables
v &>> 0x3F = Switch Flag
Effects Level Elements

Falling Burning Rocks

The En_Fire_Rock actor is responsible for simulating the falling fire rocks and rock hazards seen during events like the eruptions on Death Mountain and the collapse of Ganon's Tower. Depending on its parameters, this actor can take several forms: it may appear as a static hazard on the ground, a ceiling spawner that drops rocks when the player approaches, or a large flaming rock that falls from above. Upon impact, these rocks often shatter into smaller fragments that scatter and disappear shortly after.

When initialized, the actor uses the params value to determine its behavior. For example, FIRE_ROCK_CEILING_SPOT_SPAWNER is an invisible entity that waits for the player to get close before dropping a rock. It doesn't render any graphics itself but triggers a dramatic moment by spawning a falling hazard. On the other hand, FIRE_ROCK_ON_FLOOR is a stationary object that emits flames and can damage the player upon contact. The most common variant, however, is the falling rock — either type 1 or 2 — which drops from the sky, rotates as it falls, and leaves behind a trail of fire. Type 1 can slightly track the player's position, while type 2 falls straight down with random variation.

When a fire rock hits the ground, it triggers visual and sound effects such as screen rumble, explosion sounds, and dust rings. Larger rocks often break into smaller fragments (piece 1 and piece 2 types), which scatter with upward momentum and gradually fade out. These pieces serve no further gameplay function but enhance the realism of the impact. The actor also checks for collisions — either with the ground or with the player’s shield — and may shatter early if deflected. In combat zones, the rocks can actively damage Link if they collide.

Visually, each rock uses a spinning model with randomized rotation and scaling. Flame particle effects are continuously spawned from its center as it falls. The entire actor is carefully tuned to contribute both gameplay tension and visual drama, reinforcing the sense of danger in volcanic and crumbling environments.


En_Fire_Rock

ID: 00B5
Object: 0092
Code Files: z_en_fire_rock.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Large
0001 [0001] Medium
0002 [0002] Small
0003 [0003] Large
0004 [0004]+ Nothing
Level Elements Trap

Falling Ceiling (Forest Temple)

The Bg_Mori_Rakkatenjo actor controls the falling ceiling trap in the Forest Temple. It begins suspended above the ground and becomes active once the Forest Temple textures are loaded. Initially, the actor waits for Link to approach. Once Link enters a defined proximity area (a rectangular region under or near the trap), a countdown timer begins. If Link remains within the zone for long enough—or if he walks directly underneath—it triggers the ceiling to drop.

As the trap falls, it uses gravity and simulates a realistic bounce effect with decreasing rebound velocity. Each impact plays a heavy sound effect and initiates a camera shake (quake) to emphasize the ceiling's weight and danger. After hitting the ground and finishing its bounce sequence, the trap rests briefly, then slowly rises back to its original position using smooth upward motion.

During the sequence, the camera switches to a special birds-eye view when Link is underneath, providing a better perspective of the danger. Once Link exits the area, the camera returns to its default dungeon setting.

This system combines positional checks, camera transitions, physics simulation, and audio-visual feedback to create one of the temple’s most tense moments—a trap that feels both intimidating and cinematic.


Bg_Mori_Rakkatenjo

ID: 0089
Object: 0072, 0073
Code Files: z_bg_mori_rakkatenjo.c
Effects Level Elements Spawner

Falling Rock Spawner

The EnEncount2 actor is a dynamic environmental hazard system responsible for creating falling rocks and visual effects during intense sequences, such as Death Mountain eruptions or the collapse of Ganon’s Tower.

When placed in Death Mountain Trail, the system checks if Link is within a specific coordinate range and whether certain game flags are unset (like whether the Fire Temple has been cleared). If these conditions are met, the system activates and begins periodically spawning falling rocks (via the En_Fire_Rock actor) and lava spark-like visual effects. These rocks can fall near the player or further away based on their speed and random factors, and their spawns are synchronized with camera quake effects and sound cues like rumbling and volcanic eruptions.

In the Ganon’s Tower collapse scenes, the same system activates when Link is close enough and a switch flag is set. The system spawns similar effects but with different timing and a slightly altered visual presentation. Only one rock is spawned at a time in this sequence, and effects are more spaced out to match the escape sequence pacing.

The system includes a pool of visual particle effects that are managed through the EnEncount2_UpdateEffects function. These effects have randomized rotations and drift downward, getting culled once they fall below a threshold. Their movement gives the illusion of debris or sparks falling from above.

In addition, the actor manipulates the environment colors and fog during active sequences in Death Mountain to simulate a visual sense of danger. The ambient light, primary light, and fog settings shift dynamically based on an internal timer that gradually ramps up and down.

The modular design allows the same actor to behave differently in each scene depending on scene ID and parameters, demonstrating its flexible and context-sensitive behavior within the game’s environmental storytelling.


En_Encount2

ID: 00B4
Object: 0092
Code Files: z_en_encount2.c
Invisible Level Elements

False Stone Walls (Gerudo Training Grounds)

The Bg_Menkuri_Nisekabe actor represents the false stone walls and ceilings in the Gerudo Training Grounds. These deceptive barriers appear solid at first glance but are actually illusions, designed to test the player’s perception and puzzle-solving skills. By default, the actor draws either a fake wall or ceiling depending on its params value, using display lists from the Gerudo Training Grounds object set. However, the illusion only persists until the Lens of Truth is activated. When the player uses the lens, the game sets a special flag (ACTOR_FLAG_REACT_TO_LENS), causing the actor to render with transparency (Xlu) instead of opacity, visually revealing the wall’s false nature. This mechanic cleverly integrates into dungeon design, challenging players to use their items thoughtfully. Despite its simple behavior, the actor adds depth to gameplay by blending environmental deception with item-based discovery.


Bg_Menkuri_Nisekabe

ID: 01CD
Object: 004D
Code Files: z_bg_menkuri_nisekabe.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Circular piece of false stone wall //Visible, invisible with Lens of Truth
0001 [0001] Square piece of false stone wall //Oriented horizontally
Item Level Elements Weapon

Fire Arrow

The Arrow_Fire actor handles the visual and functional effects of a Fire Arrow in The Legend of Zelda: Ocarina of Time. It is spawned as a child of a normal arrow (En_Arrow) when the player uses the Fire Arrow magic. This actor is responsible for: Charging phase: Glowing effect while aiming. Flight phase: Trails fire particles behind the arrow. Hit phase: Creates an explosion effect and brief red screen tint on impact. Visual effects: Includes animated texture scrolling for the fire flame and dynamic scaling depending on arrow distance. Damage behavior: The actual damage and collision is handled by the parent arrow; this actor focuses on aesthetics and feedback.


Arrow_Fire

ID: 010A
Object: 0001
Code Files: z_arrow_fire.c
Effects Level Elements Spawner

Fish, Bugs, Butterflies Group Spawner

The Obj_Mure actor in Ocarina of Time is a dynamic group spawner responsible for populating the environment with small ambient creatures like fish, bugs, and butterflies. It uses distance-based culling to manage performance, only spawning these child actors when the player is nearby. Depending on its parameters, it can spawn different types and numbers of creatures, and assign behaviors that simulate natural group movement—such as fish following each other or a butterfly occasionally trailing the player. The actor continuously monitors the state of its children, removing them when out of range or destroyed, and respawning them when conditions are met again. This system creates a believable and efficient way to bring the game's natural environments to life.


Obj_Mure

ID: 0094
Object: 0001
Code Files: z_obj_mure.c
Actor Variables
v &>> 0x1F = Type
02 [0002] Fish
03 [0003] Bug
04 [0004] Butterfly
v &>> 0x0060 = Spawn Pattern
0 [0000] 0
1 [0020] Default
v &>> 0xF000 = Spawn Count
0 [0000] Set number spawned via lookup table
v &>> 0x0700 = Spawn Count (Table Look-up) //Ignored if spawn count != 0. Values > 3 cause actor to despawn
0 [0000] 12
1 [0100] 9
2 [0200] 8
3 [0300] 0
Effects Level Elements

Flame

The z_en_light.c actor file defines the En_Light actor, which represents flame effects such as torch flames and small candle flames in The Legend of Zelda: Ocarina of Time. This actor is primarily used for visual ambiance and lighting, attaching dynamic light sources to static world objects or other actors (like torches or held items). It handles lighting, flame animations, sound effects, and optional logic for appearing or disappearing based on switch states.

Use shrinking Mode: Switch-controlled shrink/grow behavior. When this bit is set, the flame will smoothly scale up or down depending on the state of a specified switch.

Is Lit: If set the flame appears (grows) when the switch is on, and disappears (shrinks) when off.

Is Candle: Small Candle Flame

Switch Shrink: Specifies which switch flag this flame listens to when shrinking mode is active.


En_Light

ID: 0008
Object: 0001
Code Files: z_en_light.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Large Orange Flame
0001 [0001] Large Orange Flame
0002 [0002] Large Blue Flame
0003 [0003] Large Green Flame
0004 [0004] Small Orange Flame
0005 [0005] Large Orange Flame
0006 [0006] Large Green Flame
0007 [0007] Large Blue Flame
0008 [0008] Large Magenta Flame
0009 [0009] Large Pale Orange Flame
000A [000A] Large Pale Yellow Flame
000B [000B] Large Pale Green Flame
000C [000C] Large Pale Pink Flame
000D [000D] Large Pale Purple Flame
000E [000E] Large Pale Indigo Flame
000F [000F] Large Pale Blue Flame
83F0 [83F0] Candle Flame
FFFF [FFFF] Faint Blue Aura
Level Elements Obstacle Puzzle

Flame Circle

The Bg_Hidan_Curtain actor controls the circular flame barriers in the Fire Temple, which act as environmental hazards that can block or damage the player. Depending on its type, the curtain can appear in different sizes and behaviors—some rise and fall when triggered by switches, others disappear after clearing a room or opening a chest. Its logic includes waiting for specific flags (like switches or clear events), playing cutscenes, and cycling its alpha transparency and collider height to simulate the flame rising or lowering. Visually, the fire uses texture scrolling and glowing colors to create a dynamic flame ring effect, and it emits sound and knockback when touched.


Bg_Hidan_Curtain

ID: 0049
Object: 0001
Code Files: z_bg_hidan_curtain.c
Actor Variables
v &>> 0xF000 = Type
00 [0000] Large, disabled on room clear
01 [1000] Large, plays cutscene, long timer, ticking sfx, disabled on chest flag
02 [2000] Small, short timer, no ticking sfx
03 [3000] Large, plays cutscene, short timer, ticking sfx
04 [4000] Disabled, small, switches on for short time
05 [5000] Disabled, large, can be toggled on and off
06 [6000] Large, disabled on room clear, sets switch flag on clear
07 [7000] Nothing
v &>> 0x0FC0 = Chest Flag
v &>> 0x003F = Switch Flag
Enemy Level Elements Obstacle

Flobbery Muscle Block (Jabu-Jabu’s Belly)

Flobbery Muscle Blocks are strange, organic obstacles found inside Jabu-Jabu’s Belly. These squishy, pulsating blocks resemble chunks of flesh and serve as environmental puzzles rather than enemies. They can made non hostile and climbable by hitting it with the boomerang allowing Link to alter the layout of the dungeon and access new areas. Their unsettling, living texture adds to the surreal and biological feel of the dungeon.


En_Brob

ID: 00B6
Object: 00AC
Actor Variables
v &>> 0xFF = Height of Block
00 [0000] Completely flat, doesn't hurt you
FF [00FF] Default height
v &>> 0x1000 = Smaller size, height not affected by last two digits //+1000 repeat //FIXME
Gate Level Elements Puzzle

Forest Temple Objects

The Bg_Mori_Hashira4 actor in Ocarina of Time is responsible for two major interactive elements in the Forest Temple: the rotating central pillars and the large metal gate that opens after solving a puzzle. When configured as the rotating platform, the actor continuously spins the four massive stone pillars in the temple’s main room, using dynamic collision to let Link walk across the moving surface. As a gate, it waits for a switch to be activated—triggering a short delay, a dramatic cutscene, and the gate rising smoothly out of view. Both versions of the actor rely on shared Forest Temple textures and are accompanied by immersive sound effects that enhance the feeling of mystery and ancient machinery. This actor is a great example of how Zelda’s environmental design blends gameplay, atmosphere, and subtle storytelling through motion and interaction.


Bg_Mori_Hashira4

ID: 00E3
Object: 0072, 0073
Code Files: z_bg_mori_hashira4.c
Actor Variables
v &>> 0xFF = Type
0000 [0000] Rotating platforms
0001 [0001] Metal Gate
v &>> 0xFF00 = Nullable Switch Flag //Metal gate only
Level Elements Sign

Gameplay Keep Items

The En_A_Obj actor is a versatile environmental object used for various static and interactive scene decorations in The Legend of Zelda: Ocarina of Time. This actor handles many types of objects including stone blocks, small grass, a stump, and signs. It extends from DynaPolyActor, meaning it can participate in dynamic collision and physics simulations. The actor supports rotation behaviors, timed actions, and text interaction (primarily for signposts). It features a cylindrical collider for physical interactions and uses an action function pointer to define custom logic per object type. Although only oblong and arrow signposts are placed in rooms by default, the system supports a wide range of types for flexibility in world design.


En_A_Obj

ID: 0039
Object: 0001
Code Files: z_en_a_obj.h
Actor Variables
v &>> 0xFF = Type
00 [0000] Small grey stone block //oversized collision
01 [0001] Large grey stone block //oversized collision
02 [0002] Huge grey stone block //oversized collision
03 [0003] Small grey stone block, rotates when you stand on it
04 [0004] Large grey stone block, rotates when you stand on it
05 [0005] Small grey stone cube
06 [0006] Crashes
07 [0007] Grass clump
08 [0008] Small tree stump
09 [0009] Square Signpost (unbreakable)
0A [000A] Arrow Signpost
v &>> 0xFF00 = Message ID (+0300)
Level Elements Obstacle

Ganon’s Castle Fake Walls

The Bg_Gnd_Nisekabe actor represents illusionary walls found in Ganon's Castle during the trials. These walls appear solid at first but are revealed to be fake when viewed through the Lens of Truth. Depending on the specific parameter value set for each instance, the actor displays one of several different wall designs, such as those used in the Light Trial or near the Deku Scrubs. While the wall seems real under normal conditions, activating the Lens of Truth dynamically changes its rendering from opaque to semi-transparent, visually exposing the deception. The actor manages this by toggling its internal rendering flags during each update cycle based on whether the Lens of Truth is active.


Bg_Gnd_Nisekabe

ID: 01B6
Object: 0179
Code Files: z_bg_gnd_nisekabe.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Square Stone //Light Trial Fake Wall
0001 [0001] Stone Brick 1 //Unused
0002 [0002] Stone Brick 2 //Deku Scrub Fake Wall
Cutscene Level Elements

Ganon’s Organ and surroundings

The En_Ganon_Organ actor represents the dramatic organ setup Ganondorf plays during the cutscene just before the final battle. This static, non-interactive prop includes the organ, its platform, decorative statues, and part of the throne room floor. Its primary function is visual, helping to build tension and atmosphere. The actor reacts to the cutscene state and Ganondorf’s transparency by adjusting its environment color and render mode, allowing it to fade out smoothly when no longer needed. The organ setup self-terminates after its role in the cutscene ends.


En_Ganon_Organ

ID: 015E
Object: 00E1
Code Files: z_en_ganon_organ.c
Cutscene Level Elements NPC

Ganondorf’s Horse

The En_Horse_Ganon actor represents Ganondorf’s black steed during his cinematic appearances in Ocarina of Time, particularly in key cutscenes like his dramatic exit from Hyrule Castle after kidnapping Zelda. This actor is built on the flexible skeletal animation system (Skin), using a set of animations including idle, walking, galloping, and rearing. It follows a predefined path of 14 waypoints, adjusting its speed dynamically based on player proximity or scene context. Equipped with both cylindrical and joint-sphere colliders, En_Horse_Ganon supports accurate collision for cinematic realism and interaction detection. Though not ridable by the player, it’s designed to react to the environment and maintain animation transitions that enhance Ganondorf’s imposing presence. Its combination of pathing logic, skeletal animation, and collision behavior makes it one of the more cinematic and atmospheric non-interactive actors in the game.


En_Horse_Ganon

ID: 0042
Object: 002D
Gate Level Elements

Gate to Death Mountain Trail

The Bg_Gate_Shutter actor controls the large metal gate found between Kakariko Village and Death Mountain Trail in Ocarina of Time. This gate opens or closes based on the player’s progress in the story, particularly after triggering certain flags like talking to characters or completing events. When open, the gate slides open along the X and Z axes accompanied by sound effects. It uses a dynamic polygon (DynaPoly) collision and plays an animation of sliding horizontally to either block or allow passage through the path. Internally, the actor maintains a state machine (actionFunc) to handle transitions between idle, opening, and resetting.


Bg_Gate_Shutter

ID: 0100
Object: 0181
Known Default Requirements:
Kakariko Village Objects (Child) - SPOT01_MATOYAB
Code Files: z_bg_gate_shutter.c
Actor Variables
v &>> 0xFFFF = Default
Gate Level Elements Obstacle

Gerudo Fortress Training Area Gate

The Bg_Spot12_Saku actor controls the spiked metal gate inside the Gerudo Fortress that leads to the Gerudo Training Ground. Initially, the gate remains closed and scaled to its full blocking size. When the appropriate switch flag is triggered, a short cutscene begins and the gate smoothly retracts sideways by shrinking its horizontal scale and adjusting its position using trigonometric functions based on its rotation. As the gate slides away, a metallic opening sound effect plays, and once fully retracted, it remains in the open position, allowing Link to access the area beyond. If the switch has already been activated before entering the scene, the gate starts already open and out of the way.


Bg_Spot12_Saku

ID: 0191
Object: 0162
Code Files: z_bg_spot12_saku.c
Actor Variables
v &>> 0xFF = Nullable Switch Flag
Gate Level Elements Obstacle

Gerudo Fortress Wooden Gate

The Bg_Spot12_Gate actor represents the large metal gate leading from Gerudo Fortress into the Haunted Wasteland. Initially closed, the gate is programmed to open vertically when a specific switch flag is triggered—typically after the player gains approval from the Gerudo guards. Once activated, a short cutscene plays, and the gate begins to rise smoothly using gradual velocity changes. During this motion, appropriate metallic gate-opening sound effects are played, and a brief camera quake effect adds dramatic tension. If the switch flag has already been set before the area loads, the gate appears fully open from the start. After reaching its open position, the gate remains permanently raised, allowing the player to pass freely into the desert beyond.


Bg_Spot12_Gate

ID: 0190
Object: 0162
Actor Variables
v &>> 0xFF = Nullable Switch Flag
Level Elements

Giant Skull Jar (Shadow Temple)

The Bg_Haka_Tubo actor represents the giant flaming skull jars found in the Shadow Temple. These interactive objects are both environmental hazards and collectible sources. Each jar consists of two components: the visible skull model and an animated ring of blue fire that spins around its top. The actor includes two collision zones: one inside the jar (to detect attacks or projectiles that may break it) and another surrounding the flame circle (which harms the player upon contact).

At initialization, the actor sets up its dynamic collision and two cylindrical colliders — one for the pot itself and another for the damaging flame. It also begins with a small randomized offset for the animated fire texture to give a more natural visual variation. If the actor is placed in room 12 (the infamous spinning pot room), the jar rotates in a circular path around a central point, creating a moving hazard that the player must chase down or avoid.

If the player's attack hits the jar's internal collider within a specified range, the jar "breaks," triggering an explosion effect, a burst of fragments, and a sound effect. At this point, the jar becomes invisible, and after a short delay, drops a collectible. The drop behavior depends on the room and game state. In room 12, the pot may spawn random rewards, nothing (and a Keese), or — if it’s the last of the three jars — a big rupee reward and a chime. In other rooms, the pot usually drops a small key unless that key has already been collected, in which case it defaults to a recovery heart.

The blue flame around the pot is animated with scrolling textures and uses transparency effects to create a magical look. This flame is both aesthetic and functional, damaging the player if they make contact. Overall, this actor combines visual effects, collision logic, and collectible mechanics to provide a dynamic temple obstacle that rewards the player for careful timing and exploration.


Bg_Haka_Tubo

ID: 00BB
Object: 0069
Code Files: z_bg_haka_tubo.c
Destructible Level Elements Obstacle

Golden Gauntlets Pillar

The BgHeavyBlock actor controls the large blocks in the game that can only be lifted using the Golden Gauntlets. Depending on its type, the block may be breakable, unbreakable, or a falling piece created after destruction. Breakable blocks shatter into pieces when thrown, triggering a cutscene, rumble, sound effects, and spawning debris with randomized velocity and rotation. Unbreakable blocks can be moved but remain intact, sometimes triggering switches or unlocking progress (e.g., outside Ganon’s Castle). This actor uses DynaPoly collision for interaction and transitions through states such as waiting to be lifted, flying through the air, or landing. When broken, it spawns smaller debris actors, each with their own physics and timers before despawning. Dust and quake effects add realism during lifting, impact, and crumbling, enhancing the dramatic weight and power associated with these legendary-strength puzzles.


Bg_Heavy_Block

ID: 0092
Object: 009A
Code Files: z_bg_heavy_block.c
Actor Variables
v &>> 0x000F = Type
0 [0000] Sinks into the ground
1 [0001] Breaks on impact
v &>> 0x3F00 = Switch Flag
Effects Level Elements Switch

Golden Torch (Poe Sisters)

The Bg_Po_Syokudai actor represents the golden torch stands used during the Poe Sisters puzzle in the Forest Temple of The Legend of Zelda: Ocarina of Time. These torches light up when a specific Poe Sister is defeated and help manage the puzzle’s state. There are four variations, each with a unique flame color representing one of the Poe Sisters: Meg (purple), Joelle (red), Beth (blue), and Amy (green). The torches emit glowing dynamic light, play fire sound effects when lit, and spawn flame visual effects. The final purple torch also has conditional logic to spawn Meg once the others have been defeated and the corresponding switches are set.


Bg_Po_Syokudai

ID: 0105
Object: 00A4
Code Files: z_bg_po_syokudai.c
Actor Variables
//In room 2 of Forest Temple:
//If switch flags 1C-1F are not all 1 and 1B is 0, the poe light stealing cutscene will play. The cutscene will fail if at least one of the Poes can't spawn. If the cutscene plays, 1B is set to 1.
//If switch flags 1D-1F are 1 and a Meg Torch is attached to a flag that is 0, Meg spawns. Killing Meg sets the Meg Torch flag, and 1B is set to 0


v &>> 0x3F = Switch Flag
v &>> 0xFF00 = Color (Sister)
00 [0000] Purple (Meg)
01 [0100] Red (Joelle)
02 [0200] Blue (Beth)
03 [0300] Green (Amy)
Level Elements

Goron Jar Lid

The Bg_Spot18_Futa actor represents the lid of the spinning Goron vase found in Goron City in The Legend of Zelda: Ocarina of Time. This lid is a dynamic actor with collision, meaning it physically blocks the player and interacts with other elements in the game world. It’s typically positioned over the large pot that spins in the middle of the room, part of a mini-game or puzzle event. When certain conditions are met—such as the player lighting the torches and causing the pot to spin—the lid can be removed. In the code, this is represented by the lid checking whether it has a parent actor (likely the spinning pot). If it does not, it begins to shrink uniformly in all dimensions until it vanishes entirely, at which point it removes itself from the game with Actor_Kill(). Its rendering is handled through a simple display list (gGoronCityVaseLidDL), and its collision uses dynamic polygon collision (DynaPoly) tied to a static mesh (gGoronCityVaseLidCol). Overall, the lid acts as a temporary, destructible environmental prop that visually and physically seals the spinning pot until gameplay logic determines it should be removed.


Bg_Spot18_Futa

ID: 01C3
Object: 00AF
Code Files: z_bg_spot18_futa.c
Level Elements

Gossip Stone

The Gossip Stone actor (En_Gs) in The Legend of Zelda: Ocarina of Time is a unique, interactive object that serves both as a mysterious environmental element and a player utility. These stones respond to various player actions, including being struck, bombed, or having songs played near them. They often provide cryptic hints or lore when spoken to, particularly when the player wears the Mask of Truth. The code handles several interactive responses: playing certain ocarina songs causes fairies to spawn, hitting the stone with different weapons or effects (like a bomb or hammer) triggers animations such as bouncing, rotating, stretching, glowing, or even launching upward and exploding. Each effect is managed through a combination of state flags, smooth mathematical transformations (for visual squashing/stretching), and sound cues to enhance player feedback. The Gossip Stone uses a ColliderCylinder to detect interactions and supports attention targeting, meaning Navi may point it out to players. Though it appears inert, the actor is a rich showcase of responsive design in the game’s world, incorporating text display, visual deformation, sound effects, collision handling, and even limited physics-based movement.


En_Gs

ID: 01B9
Object: 0188
Code Files: z_en_gs.c
Actor Variables
v &>> 0xFF00 = Collectible Flag (Fairy) //FIXME
Confirm
v &>> 0x00FF = Message ID (+0400)
00 [0000] This is a Gossip Stone!
01 [0001] They say you can swim faster by continuously pressing B.
02 [0002] They say there is a secret near the lone tree which is not far from the river in the northwest part of Hyrule Field.
03 [0003] They say that there is a secret on the road that leads to Lake Hylia.
04 [0004] They say that Biggoron’s Sword is super sharp and will never break.
05 [0005] They say that Medigoron didn’t really think about his own size, so his store is really cramped.
06 [0006] They say that Malon set the original record in the obstacle course of Lon Lon Ranch.
07 [0007] They say that Malon of Lon Lon Ranch hopes a knight in shining armor will come and sweep her off her feet someday.
08 [0008] They say that Ruto, the Zora princess who is known for her selfish nature, likes a certain boy...
09 [0009] They say that players who select the “HOLD” option for “Z TARGETING” are the real “Zelda players!”
0A [000A] They say that there is a secret near a tree in Kakariko Village.
0B [000B] They say that, contrary to her elegant image, Princess Zelda of Hyrule Castle is, in fact, a tomboy!
0C [000C] They say that Princess Zelda’s nanny is actually one of the Sheikah, who many thought had died out.
0D [000D] They say there is a man who can always be found running around in Hyrule Field.
0E [000E] They say that it is against the rules to use glasses at the Treasure Chest Shop in Hyrule Castle Town Market.
0F [000F] They say that the chicken lady goes to the Lakeside Laboratory to study how to breed pocket-sized Cuccos.
10 [0010] They say that Gerudos sometimes come to Hyrule Castle Town to look for boyfriends.
11 [0011] They say that the thief named Nabooru, who haunts this area, is a Gerudo.
12 [0012] They say that if you get close to a butterfly while holding a Deku Stick in your hands, something good will happen.
13 [0013] They say that you may find something new in dungeons that you have already finished.
14 [0014] They say that Gerudos worship Ganondorf almost like a god.
15 [0015] They say that there is a secret around the entrance to Gerudo Valley.
16 [0016] They say that the owl named Kaepora Gaebora is the reincarnation of an ancient Sage.
17 [0017] They say that strange owl, Kaepora Gaebora, may look big and heavy, but its character is rather lighthearted.
18 [0018] They say that the horse Ganondorf rides is a solid black Gerudo stallion.
19 [0019] They say that Ganondorf is not satisfied with ruling only the Gerudo and aims to conquer all of Hyrule!
1A [001A] They say that the treasure you can earn in the Gerudo’s Training Ground is not as great as you would expect, given its difficulty!
1B [001B] They say that there is a switch that you can activate only by using the Spin Attack.
1C [001C] They say that it’s possible to find a total of 100 Gold Skulltulas throughout Hyrule.
1D [001D] They say that when non-fairy folk enter the Lost Woods, they become monsters!
1E [001E] They say that the small holes in the ground that you can find all over Hyrule make perfect breeding ground for bugs.
1F [001F] They say that the Kokiri are always followed by small fairies.
20 [0020] They say that one Kokiri has left the forest, but he is still alive!
21 [0021] 0421 (in normal text box)
22 [0022]+ Text for when you get the Pocket Egg
Level Elements Push / Pull

Gravestone

The gravestone actor is a dynamic background object used in various scenes, such as the graveyard and Lake Hylia. It can be interacted with by the player, specifically by pulling it backward to reveal hidden content. During initialization, the actor loads its collision data and sets itself up as a dynamic polygon actor. In its default closed state, it checks whether the player is standing on the dirt patch in front of it and, under certain conditions, allows the player to pull the gravestone. When the player pulls it, the stone slides backward up to a maximum distance while playing a sliding sound effect. If the stone reaches its maximum distance and the correct conditions are met—like being in the graveyard at night—a Poe may spawn. Alternatively, if it's the correct gravestone in Lake Hylia, a success chime plays. The stone also has a locked variant, used during the day in the graveyard, where it becomes unmovable and displays a warning message from the Graveyard Boy if the player attempts to pull it. Visually, the actor draws both the stone and a patch of disturbed earth that slides back depending on how far the stone has been pulled, giving it a dynamic appearance.


Bg_Haka

ID: 009D
Object: 00A2
Code Files: z_bg_haka.c
Actor Variables
v &>> 0xFFFF = Action
0000 [0000] Default
0001 [0001] Plays discovery sfx when pulled back
0002 [0002]+ Typical
Entrance Level Elements Obstacle

Great Deku Tree’s Jaw

The Bg_Treemouth actor represents the mouth of the Great Deku Tree. It plays a critical role during the early part of Link's journey by controlling access to the dungeon inside the tree. This actor handles the cutscene where the tree opens its mouth, responds to player interaction, and animates the movement of the mouth. Based on the player's progress and certain flags like whether they’ve spoken to the tree or accepted the quest, the mouth either stays closed, opens during a cutscene, or remains open. The actor uses a float value (unk_168) to interpolate the mouth’s position over time, simulating it opening or closing gradually. It is also tied to specific cutscenes (gDekuTreeMeetingCs, gDekuTreeChoiceCs, etc.) and uses sound effects to emphasize key moments, such as the tree groaning or the mouth creaking open. Collision is managed via dynamic collision setup so the player can't walk into the tree until it opens. The actor also spawns debris effects during certain scenes to enhance the animation, and it includes special logic to reposition Link based on his choices. Overall, Bg_Treemouth is a cinematic and gameplay-critical background actor that helps bring the Deku Tree to life.


Bg_Treemouth

ID: 003E
Object: 002A
Code Files: z_bg_treemouth.c
Actor Variables
v &>> 0xFFFF = Default
Entrance Level Elements

Grotto Entrance

The actor in z_door_ana.c represents hidden grotto entrances scattered throughout Hyrule in Ocarina of Time. These grottos are small, often secretive areas that the player can enter to find fairies, enemies, treasure, or mini-puzzles. The actor supports two main states: closed (hidden) and open (accessible). Hidden grottos require specific triggers to reveal them — either a bomb, a hammer, or playing the Song of Storms. The actor uses a collider to detect player interactions or environmental triggers. Once revealed, the grotto slowly scales into visibility and waits for the player to approach. Upon contact, it initiates a warp to a corresponding grotto interior using the sGrottoEntrances table. The entrance angle dynamically adjusts based on the camera’s yaw to ensure proper alignment. This actor plays a key role in encouraging exploration and rewarding curiosity throughout the game world.


Door_Ana

ID: 009B
Object: 0002
Code Files: z_door_ana.c
Actor Variables
v &>> 0xF000 = Scene
0 [0000] Grottos //Scene 62
1 [1000] Small Fairy Fountain //Scene 60
rz &>> 0xF = Destination //Type 0 only
0 [0000] Generic
1 [0001] Big Skulltula
2 [0002] Heart Piece Scrub
3 [0003] Two Redeads
4 [0004] Three Deku Salescrubs
5 [0005] Webbed
6 [0006] Octorok
7 [0007] Two Deku Salescrubs - Deku Nut Upgrade
8 [0008] Two Wolfos
9 [0009] Bombable wall
A [000A] Two Deku Salescrubs - Green Pot
B [000B] Tektite
C [000C] Forest Stage
D [000D] Cow
rz &>> 0xF = Destination //Type 1 only
0 [0000] Fairy Fountain
v &>> 0x0300 = Type
0 [0000] Visible
1 [0100] Appear on Song of Storms
2 [0200] Appear when Bombed or hit with Megaton Hammer
v &>> 0xE0 = Contents
//Used by Chest Actor 0181 when loading the destination.
//Get Items 4D, 4E, 56, 67, 65+

00 [0000] Blue Rupee (5)
01 [0020] Red Rupee (20)
02 [0040] Yellow Rupee (200)
03 [0060] Bombs (20)
04 [0080] Bombs (1)
05 [00A0] Bombs (1)
06 [00C0] Bombs (1)
07 [00E0] Bombs (1) //Used for no item when chest does not exist
v &>> 0x1F = Chest Flag //Used by Chest Actor 0181
Collectables Level Elements

Heart container

The Item_B_Heart actor represents the Heart Container in Ocarina of Time, a collectible item that permanently increases the player’s maximum health by one heart. Upon initialization, it checks if the Heart Container has already been collected using a predefined flag (0x1F) and self-destructs if so. Visually, it slowly floats up and down while rotating, using sinusoidal movement and smooth scaling to create a gentle animation. When the player approaches within range, the game prompts the item for collection using Actor_OfferGetItem. Once picked up, the flag is set to prevent future respawns. Rendering switches between opaque and translucent display lists depending on whether another warp actor is in front of the item on screen, preserving visual depth and presentation fidelity during cutscenes or transitions.


Item_B_Heart

ID: 005F
Object: 00BD
Code Files: z_item_b_heart.c
Level Elements

Hookshot Elevator Platform (Fire Temple)

The Bg_Hidan_Fslift actor represents the Hookshot Elevator in the Fire Temple. This dynamic platform initially waits near its home position until Link stands on it, triggering it to rise to a higher level. After reaching the top, or if Link steps off early, the elevator waits briefly and then descends back to its original position. The actor handles both the movement and the positioning of a separate Hookshot target actor (a child actor) that moves with it. It also interacts with the camera system, switching to an elevator camera view while Link is on the platform. Sounds are played during movement and when the platform hits its bounds, enhancing player feedback.


Bg_Hidan_Fslift

ID: 004E
Object: 002C
Code Files: z_bg_hidan_fslift.c
Level Elements NPC

Horse (Non Rideable)

The En_Horse_Normal actor represents non-rideable horses found in specific scenes like Lon Lon Ranch, the Stable, and Gerudo Fortress. These horses are mostly decorative and contribute to the realism and ambiance of the world. Unlike Epona, they can't be mounted by the player. These horses exhibit lifelike behaviors such as wandering, idling, and playing random animations like neighing or rearing. Their animations and movements vary based on time of day, scene, and in-game flags. They use a custom skinning system (Skin) for animations, multiple colliders (including for body and head), and can even display "clone" visuals for aesthetic mirroring in the stable. Some horses follow a set path if configured to do so via parameters. Overall, En_Horse_Normal helps breathe life into the environment without serving a direct gameplay function.


En_Horse_Normal

ID: 003C
Object: 0027
Code Files: z_en_horse_normal.c
Actor Variables
v &>> 0xFFFF = Type
0001 [0001] Tan, Runs Around
000F [000F] Tan, Runs Around
0010 [0010] Tan, Runs Away
FFFF [FFFF] Tan, Runs Around
Invisible Level Elements Mini Game

Horseback Archery Target

The En_Yabusame_Mark actor represents invisible hitboxes for horseback archery targets in Gerudo Fortress's mini-game. Each target is categorized as small, medium, or large, with invisible quad colliders positioned in the world. When Link hits a target with an arrow while riding Epona, the actor calculates the distance from the hit location to the target’s center and assigns a score tier—100, 60, or 30 points—based on accuracy. A corresponding sound and particle effect plays based on the score. This logic enables fine-grained scoring by evaluating impact precision, allowing the game to reward better aim. The actor also self-deletes unless the player is in the correct mini-game layer.


En_Yabusame_Mark

ID: 012F
Object: 0001
Code Files: z_en_yabusame_mark.c
Actor Variables
//Arrow Hitbox
v &>> 0xFFFF = Type
0000 [0000] End Targets
0001 [0001] Mounted Target (Small)
0002 [0002] Mounted Target (Big) //Center one
Elevator Level Elements

Huge Stone Elevator

The Obj_Elevator actor represents a stone platform elevator commonly used in Ocarina of Time dungeons, such as the Fire Temple. It activates when Link steps on top and moves smoothly between two vertical positions—its home Y position and a raised or lowered position defined by a parameter. Upon activation, the elevator detects whether it is currently at its original height or already elevated and then moves in the opposite direction. The movement is handled using smooth step interpolation to create a gradual lift or descent effect, and corresponding sound effects are played during motion and upon reaching the destination. Once it reaches the target position, the elevator becomes idle again, waiting for the next player interaction. The elevator uses dynamic collision to allow Link to stand and move on it as it travels.


Obj_Elevator

ID: 012B
Object: 011B
Code Files: z_obj_elevator.c
Actor Variables
v &>> 0x1 = Platform Size
00 [0000] Large
01 [0001] Small
v &>> 0xF000 = Rise Height //80 unit increments
v &>> 0x0F00 = Platform Travel Speed
//- 1 = Very slow
//...
//- F = Very, very fast

0 [0000] No vertical movement //moving sfx repeats endlessly if type isn't 0
Level Elements

Huge stone spike platform (Fire Temple)

The Bg_Hidan_Hrock actor represents the large stone spike platforms found in the Fire Temple, playing a crucial role in environmental puzzles and player progression. These dynamic actors can be triggered to drop into position by striking them with a weapon, typically the Megaton Hammer. Upon activation, the platform shakes dramatically, simulating a heavy stone shifting loose, complete with rumble feedback and sound effects. The platform then descends to a lower position, where it becomes permanent and solid for navigation. Depending on its parameter value, the actor renders one of three models and drops to a unique height. It also updates its collision and hit detection to allow the player to stand on it or interact with it further. By integrating collision geometry updates, dynamic movement, switch flag logic, and animation feedback, Bg_Hidan_Hrock provides a satisfying and impactful interaction in the temple’s vertical design.


Bg_Hidan_Hrock

ID: 0041
Object: 002C
Actor Variables
v &>> 0x0F00 = Type
0 [0000] Huge
1 [0100] Big
2 [0200] Small
v &>> 0x00FF = Switch Flag
Gate Level Elements

Hyrule Castle Gate

The Bg_Spot15_Saku actor represents the metal gate at the entrance of Hyrule Castle. This gate serves as a dynamic obstacle that can be lowered when certain story events occur. Upon initialization, it loads collision data and sets its position; if the player has already triggered the associated story flag (INFTABLE_71), the gate is positioned as open by default. Otherwise, it starts closed. When a specific condition is met in the game (such as the player advancing the story or interacting with a certain trigger), the gate’s internal flag unk_168 is set, which transitions the actor to a state where it begins to animate the gate lowering. This is done by decrementing the z position gradually while playing sound effects to simulate the gate moving. Once it reaches the target position (2660.0f on the z-axis), the movement stops, and a cooldown timer is set before returning the gate to an idle state. The actor also handles cleanup of dynamic collision and renders a translucent display list of the gate model. It’s a simple but effective puzzle gate actor controlling access to the castle area based on progression.


Bg_Spot15_Saku

ID: 00F8
Object: 00F0
Code Files: z_bg_spot15_saku.c
Actor Variables
v &>> 0xFFFF = Default
Item Level Elements Weapon

Ice Arrow

The Arrow_Ice actor controls the visual and reactive effects of the Ice Arrow. It is automatically spawned as a child of the normal arrow (En_Arrow) when the Ice Arrow is used, and manages three core stages: Charging Phase: While aiming the arrow, a blue icy glow charges up. Flight Phase: A shimmering frost trail follows the arrow mid-air. Hit Phase: On impact, the screen flashes blue, and the actor simulates a freezing explosion with animated visuals. While the actual damage and freezing mechanics are handled by the parent arrow (En_Arrow), Arrow_Ice provides the visual and audio feedback, including the swirling frost animations and translucent effects.

 


Arrow_Ice

ID: 010B
Object: 0001
Code Files: z_arrow_ice.c
Level Elements Obstacle Puzzle

Ice Platform (Zora’s Fountain)

The Bg_Spot08_Iceblock actor represents the floating ice platforms found in Zora’s Fountain. These platforms are dynamic, interactable objects that bob up and down, react to Link's weight, and in some configurations, rotate or orbit around a central point. The actor can behave in several ways based on its params settings: remaining stationary, slowly rotating, or forming a twin pair that orbits each other. When Link steps on an ice block, it sinks slightly to simulate weight and shifts its orientation with a rolling effect determined by Link's position, momentum, and the block’s size and damping settings. This realistic floating behavior is calculated each frame using surface normals, rotation matrices, and vector math to smoothly animate the ice’s tilt. Additionally, the actor dynamically spawns its twin when configured for orbiting mode. Only available to adult Link, these platforms are used for traversal across the frozen lake and to hidden areas, adding both a puzzle and platforming challenge.


Bg_Spot08_Iceblock

ID: 00D1
Object: 0074
Known Default Requirements:
Adult Link Only
Code Files: z_bg_spot08_iceblock.c
Actor Variables
v &>> 0x0200 = Type
0 [0000] Iceberg
1 [0200] Ice Ramp
v &>> 0x000F = Action
0 [0000] Floating
1 [0001] Floating
2 [0002] Floating, Rotating
3 [0003] Twin Floating in circle
4 [0004] Stationary
v &>> 0x00F0 = Size and Sink Speed
0 [0000] Large, 0.15f
1 [0010] Regular, 0.2f
2 [0020] Small, 0.4f
//Actor checks v & 0xFF for the following values, and forces v = 0x0010 if none match:
//0x01
//0x04
//0x10
//0x11
//0x12
//0x14
//0x20
//0x23
//0x24
Level Elements Obstacle Trap

Icicles

The Bg_Ice_Turara actor represents the icicles (stalactites and stalagmites) found in ice-themed areas such as the Ice Cavern. These hazards come in two main types: static stalagmites that can be destroyed and dynamic stalactites that fall when the player gets close. Some stalactites can also regrow after shattering, creating an ongoing environmental hazard.

The actor starts by checking its params to determine its type. Stalagmites simply wait to be struck—usually by the player’s sword or other attacks—and break apart into ice shard particles when hit. Stalactites, on the other hand, use a state machine to handle player proximity: they begin in a waiting state, transition to a shivering animation with slight positional jitter and sound effects when the player is near, and then drop after a brief delay. If they hit the player or the ground, they shatter with a sound and particle effect.

Some stalactites are set to regrow. In these cases, after falling and breaking, they reposition themselves above and slowly descend back to their original position to reset the trap. The breaking effect uses ice particles with randomized position, velocity, and scale, adding visual variety.

Collision is handled via a ColliderCylinder, which is dynamically updated as the icicle moves. Collision with the player or environment determines when the icicle should shatter. The actor uses DynaPoly for environmental interaction and basic physics, including gravity, to simulate falling.


Bg_Ice_Turara

ID: 01C7
Object: 006B
Code Files: z_bg_ice_turara.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Stalagmite (floor)
0001 [0001] Stalactite (ceiling) //falls when Link is underneath
0002 [0002] Regrowing Stalactite (ceiling) //falls when Link is underneath
0003 [0003]+ Stalactite (ceiling) //falls when Link is underneath
Gate Level Elements

Ingo’s Gates (Lon Lon Ranch)

The Bg_Ingate actor controls the wooden gates at Lon Lon Ranch used during the Ingo horse-racing events. These gates act as dynamic actors with collision, capable of rotating open during a cutscene. Upon initialization, the actor verifies that the scene is Lon Lon Ranch and the player is adult Link. It then checks specific game progress flags—such as whether Epona has been obtained—to determine whether it should be active. If the conditions are met, the gate either stays idle or begins a scripted rotation animation based on cutscene frames, simulating the gates opening outward. This animation uses smooth sinusoidal rotation and then locks into place once the gate fully opens. The actor includes collision, draws a gate model, and is used to visually and physically control player access during Ingo’s events.


Bg_Ingate

ID: 0140
Object: 0129
Code Files: z_bg_ingate.c
Actor Variables
v &>> 0xFFFF = Type //FIXME
0000 [0000] ?
0001 [0001] ?
0003 [0003] ?
Level Elements Obstacle

Inside Jabu-Jabu’s Belly Objects

The Bg_Bdan_Objects actor is responsible for managing several interactive and animated environmental elements within the Lord Jabu-Jabu dungeon, including elevators, falling platforms, rotating spike platforms, and the dramatic Big Octo boss platform. This actor’s design is modular, supporting various types of behavior through different parameter values, and it uses a state machine (actionFunc) pattern to transition between phases of interaction based on player behavior and game flags.

When initialized, it loads different collision models depending on its type. For instance, the Big Octo boss platform has special logic that handles Ruto-triggered cutscenes and boss battle progression. The platform begins lowered, raises when the cutscene starts, and then drops again once Big Octo appears. It uses smooth interpolation for movement and audio-visual effects like rumble, sound effects, and screen shake (via the quake system) to enhance immersion. Additionally, once Big Octo is defeated and the room is cleared, the platform rotates to align with the new path forward and becomes a player-controlled elevator.

Its update and draw functions maintain a consistent loop of behavior execution and render appropriate display lists depending on the object type. For instance, water platforms are rendered translucently, while others use opaque geometry.


Bg_Bdan_Objects

ID: 00C8
Object: 0096
Code Files: z_bg_bdan_objects.c
Actor Variables
v &>> 0x00FF = Type
00 [0000] Giant Octo's Platform
01 [0001] Elevator Platform
02 [0002] Water Square //Rises when Switch Flag is set
03 [0003] Lowering Platform //Lowers into place when stepped on, sets Switch Flag
v &>> 0x3F00 = Switch Flag
Collectables Invisible Level Elements Switch

Invisible Collectible

The En_Wonder_Item actor is a versatile and invisible trigger-based entity used in Ocarina of Time to spawn collectibles, activate switches, or initiate events under specific conditions—without any visible model. It operates in multiple “wonder modes,” each enabling unique behaviors such as proximity-based item drops, damage-triggered interactions (e.g. hit by arrow or boomerang), sequence-based tag puzzles, and “cow switch” replacements in Master Quest. The actor uses the params and rot.z fields to define its mode, number of required interactions, item drop type, and switch flag. In some modes, it tracks the player’s proximity or input, while in others it checks collisions (like from specific weapons) or coordinates with invisible tag point markers to solve puzzles. When the conditions are met, the actor may spawn a drop (like rupees or hearts), activate a switch, or even spawn another actor like a soldier. After fulfilling its task, it destroys itself.

 


En_Wonder_Item

ID: 0112
Object: 0001
Code Files: z_en_wonder_item.c
Actor Variables
//Used in Master Quest to create "Cow" Switches //FIXME: IMPLEMENT TYPE


v &>> 0xF800 = Type
00 [0000] Collect Immediately //Not used?
02 [1000] Invisible, free collectible
03 [1800] Invisible hitbox, drops collectible when hit //See Z-Rotation for parameters
05 [2800] ??? //FIXME
06 [3000] ??? //FIXME
07 [3800] Invisible hitbox, set switch flag when touched
08 [4000] Slingshotable hitbox, spawns Hylian Soldier (actor 00B3) who throws a bomb
v &>> 0x07C0 = Collectible Spawned //FIXME
See actor 0015 for spawn values
00 [0000] 0C
01 [0040] 06
02 [0080] Magic Jar (Large) //0E
03 [00C0] //0F
04 [0100] Bomb //03
05 [0140] //08
06 [0180] //09
07 [01C0] Arrows (30) //0A
08 [0200] Green Rupee
09 [0240] Blue Rupee
0A [0280] Red Rupee
0B [02C0] //12
v &>> 0x003F = Switch Flag
rz &>> 0xFFFF = Number of collectibles spawned //Type 02 only
rz &>> 0xFF = Spawn Item Trigger //Type 03 only
00 [0000] Sword Swing
01 [0001] Shot with Arrow only
02 [0002] Megaton Hammer
03 [0003] Explosions
04 [0004] Shot with Slingshot Seed only
06 [0006] Hookshot
Destructible Level Elements

Iron Knuckles Room Stuff (Spirit Temple)

Bg_Jya_Ironobj represents destructible environmental props found in Iron Knuckle rooms — specifically large stone pillars and thrones. These objects are dynamic actors that can be broken by Iron Knuckle’s heavy axe attacks. When struck successfully, the object disintegrates into flying debris using custom particle effects and spawns three Recovery Hearts at its base. This adds both a cinematic flair and functional reward to boss encounters. The actor uses a collision cylinder to detect when it's hit, checks that the attacker is specifically an En_Ik (Iron Knuckle), and then triggers a custom destruction animation depending on whether it’s a pillar or a throne. The explosion effect includes individually animated fragments and dust clouds, enhancing the environmental storytelling and making Iron Knuckle feel more powerful. Once destroyed, the actor cleans itself up, removing its collision and visuals from the scene.


Bg_Jya_Ironobj

ID: 0169
Object: 016C
Code Files: z_bg_jya_ironobj.c
Actor Variables
v &>> 0x1 = Type
00 [0000] Brick pillar
01 [0001] Brick throne
Climbable Level Elements Obstacle

Ladder (Forest Temple)

The Bg_Mori_Hashigo actor is an unused object in Ocarina of Time designed to simulate a falling ladder mechanism, including both the ladder itself and a clasp that holds it in place. This setup appears to be intended for the Forest Temple or a similar dungeon environment but ultimately wasn’t utilized in the final game. When loaded, the clasp spawns the ladder as a child actor. Upon player interaction (e.g., a strike), the clasp's hit flag triggers the ladder’s state machine to simulate gravity and bounce three times before settling into a climbable position. The ladder uses DynaPolyActor for collision so Link can climb it like any standard ladder in the game.


Bg_Mori_Hashigo

ID: 00E2
Object: 0072, 0073
Code Files: z_bg_mori_hashigo.c
Actor Variables
v &>> 0xFFFF = Default
0000 [0000] Wooden Ladder
Gate Level Elements Switch

Lake Hylia Objects

The Lake Hylia Objects (Bg_Spot06_Objects) actor handles a group of interactive environmental objects that reflect the player’s progression through the Water Temple in Ocarina of Time. This multifaceted actor includes the large metal gate that seals the temple entrance, the fish-shaped hookshot lock used to trigger its opening, the dynamic water plane that represents the surface of Lake Hylia, and an ice block that provides shortcut access to Zora’s Domain. Each type behaves differently depending on the game’s state: the gate remains shut until the player activates a switch; the lock responds to the hookshot by floating to the surface with elaborate motion and effects; the water plane rises during a cutscene after the temple is completed; and the ice block only appears when Link is an adult. The code carefully manages each object’s visual representation, collisions, cutscene behaviors, and sound effects, all contributing to a smooth, reactive environment. Through this system, Lake Hylia becomes a living location that changes as Link’s journey progresses.


Bg_Spot06_Objects

ID: 00D5
Object: 006A
Known Default Requirements:
Lake Hylia Objects - SPOT06_OBJECTS
Code Files: z_bg_spot06_objects.c
Actor Variables
v &>> 0xFF = Nullable Switch Flag
v &>> 0xFF00 = Type
00 [0000] Temple Gate
01 [0100] Gate lock
02 [0200] Water plane
03 [0300] Nothing //FIXME: Is Spawned
04 [0400]+ Crashes
Effects Level Elements Puzzle

Large Circular Mirror (Spirt Temple)

The Bg_Jya_Bigmirror actor represents the massive ceiling mirror used in the Spirit Temple's light-based puzzle. It dynamically manages the spawning and removal of related Cobra mirrors and light beams depending on the player’s current room and puzzle progress. The mirror is visually responsive to the height of the elevator platform below it, creating the illusion of reflected light. The actor checks Cobra mirror orientations to determine puzzle completion and, once solved, spawns light beams (Mir_Ray) that visually represent light being redirected through the temple. This actor is responsible for orchestrating one of the major progression-based puzzles in the adult portion of the dungeon.


Bg_Jya_Bigmirror

ID: 0158
Object: 00F1
Code Files: z_bg_jya_bigmirror.c
Level Elements Obstacle Trap

Large Fire Wall (Fire Temple)

The BgHidanFwbig actor controls the large animated fire walls in the Fire Temple — including the vertical wall that blocks a bombable door and the horizontal one that chases the player across the lava room. These fire walls are initialized with directional parameters and scale based on whether they move or remain stationary. For moving variants, the actor tracks the player’s position and shifts along a defined path, triggering cutscenes and sound effects. The actor has built-in logic to rise and lower the wall, detect switch triggers, and damage players via a cylindrical collider. It includes smooth animation transitions, player knockback interactions, and visual effects using animated textures and scrolling flames. Overall, this actor dynamically enhances the temple's danger through movement, sound, and visual intimidation.


Bg_Hidan_Fwbig

ID: 008D
Object: 002C
Code Files: z_bg_hidan_fwbig.c
Level Elements

Large Noisy Stone

The En_Lightbox actor in Ocarina of Time is a dynamic, interactable object with multiple scale variations, defined by its params value. Though the header lacks a description, the code reveals its functionality as a carryable and bouncy box-like prop, potentially used in puzzles or room decoration. It uses a collision mesh (object_lightbox_Col_001F10) and is registered with the dynamic collision system, making it responsive to the environment. When thrown or moved, it reacts to ground and wall collisions by bouncing with sound effects and reduced momentum, using configurable bounce behavior via IREG values. It can be picked up when idle on the ground and maintains an updated collision and focus position. The draw function renders a display list (object_lightbox_DL_000B70), completing its simple visual representation. Though not explicitly tied to puzzles in this snippet, its physical behavior and interaction flags suggest it may serve as a physics object or visual element within dungeons or scripted cutscenes.


En_Lightbox

ID: 007C
Object: 0081
Code Files: z_en_lightbox.c
Actor Variables
//Unused
v &>> 0xFFFF = #N/A
0000 [0000] Normal, flashes blue when struck with sword
0001 [0001] Frickin’ huge, doesn’t flash when struck
0002 [0002] Even bigger?
0003 [0003] Ridiculously huge?
0004 [0004]+ Small size, flashes blue when struck
Level Elements

Large Round Platform (Forest Temple)

The Bg_Mori_Bigst actor in Ocarina of Time controls a key gameplay sequence in the Forest Temple involving a falling platform and multiple Stalfos encounters. Initially, the platform is suspended above the arena, and the actor waits for a texture bank to load before proceeding. If the player has not yet triggered the switch that anchors the platform, the actor initiates a sequence where the platform drops dramatically when the player approaches a certain height, starting with a single Stalfos fight. Upon defeating it, the platform falls into place with a cutscene and rumble effect, followed by a second fight featuring two Stalfos. If all enemies are defeated, a switch flag is set to ensure the platform remains grounded in future visits. This actor combines dynamic environmental movement, conditional cutscenes, and enemy spawning to create a memorable mid-dungeon battle encounter.


Bg_Mori_Bigst

ID: 0086
Object: 0072, 0073
Code Files: z_bg_mori_bigst.c
Item Level Elements Weapon

Light Arrow

The Arrow_Light actor handles the visual, audio, and reactive effects of the Light Arrow in The Legend of Zelda: Ocarina of Time. It is dynamically created as a child of a normal arrow (En_Arrow) when the Light Arrow is used and progresses through three main states: Charge State: A golden glow builds around the arrow while aiming. Flight State: A bright, radiant trail follows the arrow mid-flight. Hit State: Upon collision, a blinding flash of light overlays the screen to emphasize its magical impact. This actor primarily manages visual presentation, leaving damage mechanics and collision handling to its parent (En_Arrow).


Arrow_Light

ID: 010C
Object: 0001
Code Files: z_arrow_light.c
Destructible Effects Level Elements Obstacle

Light Blocking Rock (Spirit Temple)

The Bg_Jya_Bombchuiwa actor represents a destructible rock in the Spirit Temple that reacts specifically to bomb or explosive-based damage. Initially, it waits in place with collision detection active, ready to trigger a short cutscene once struck. After being hit or if a certain timer elapses, it plays a breaking animation by spawning debris (via EffectSsKakera) and sound effects, then disables itself visually. As the rock breaks, a beam of light effect gradually fades in at its location, increasing in intensity until it reaches full brightness. Eventually, it spawns a Mir_Ray actor to direct a beam of light through the temple for the mirror puzzle sequence.


Bg_Jya_Bombchuiwa

ID: 0159
Object: 00F1
Code Files: z_bg_jya_bombchuiwa.c
Actor Variables
//bombable, targetable
Entrance Level Elements

Link

The z_player.c file is one of the most essential components in the decompiled codebase of The Legend of Zelda: Ocarina of Time, as it defines the behavior of the main character, Link. This actor file manages everything related to the player, including movement, animations, combat, equipment usage, and interactions with the environment and other actors. It processes controller input to drive actions like walking, jumping, attacking, and item usage, while also switching between different states such as idle, swimming, climbing, or aiming with a bow. The file is closely integrated with others like z_player_lib.c for helper functions, and header files like z64player.h and z64item.h that define data structures, item IDs, and state flags. Through this system, the game can dynamically adjust Link’s behavior based on his age, equipment, and surroundings. For instance, using the ocarina, equipping different swords and shields, or triggering context-sensitive actions all depend on logic defined in z_player.c. This makes it a cornerstone of the game’s functionality, enabling the seamless and responsive control that the series is known for.


player_actor

ID: 0000
Object: 0014, 0015
Code Files: z_player.c
Actor Variables
//Objects spawned by game engine. May sometimes cause Z-buffer glitches


v &>> 0x0F00 = Spawn Type
0 [0000] Invisible, Can't Control //Used for cutscenes without Link
1 [0100] Master Sword Pull & Drop Animation //Overwrites coordinates
2 [0200] Spawn: Blue Warp //used when returning from a blue warp
3 [0300] Spawn: Immobile
4 [0400] Spawn: Exit via Grotto //Y velocity = 12
5 [0500] Spawn: Warp Song
6 [0600] Spawn: Farore's Wind
7 [0700] Spawn: Thrown Out
D [0D00] Stand
E [0E00] Slow Walk Forward
F [0F00] Retain Previous Velocity //Walk speed set by last exit
v &>> 0xFF = Camera Initial Focus //Data defined by scene Link spawns in
FF [00FF] No Special Positioning
Entrance Level Elements NPC

Lord Jabu-Jabu

The En_Jj actor represents Lord Jabu-Jabu, the massive fish deity found in Zora’s Fountain. This complex actor consists of three parts: the animated main body (JABUJABU_MAIN), a static collision actor (JABUJABU_COLLISION), and an unused collision variant. Lord Jabu-Jabu interacts with the player in multiple ways—he blinks dynamically, breathes audibly, and responds to specific triggers such as being fed a fish, which initiates a cutscene where he opens his mouth and inhales Link. His eye state cycles through open, half-closed, and closed using a blink timer with optional multi-blink behavior. The actor coordinates with child actors for collision and visual effects like dust. During cutscenes, his behavior is guided by cue points, including playing sounds, removing the dust actor, and animating his mouth open angle. The En_Jj system also disables ceiling collision and handles dynamic collision setup for the interior dungeon entrance.


En_Jj

ID: 005A
Object: 0040
Code Files: z_en_jj.c
Actor Variables
v &>> 0xFFFF = #N/A
0000 [0000]+ Collision Data
0002 [0002]+ Crashes
Level Elements NPC

Magic Carpet Man Carpet

The En_Jsjutan actor is the flying magic carpet that supports the Magic Carpet Salesman in the Haunted Wasteland. This dynamic actor handles not only visuals but physics-based wave simulation, creating a believable flying and wobbling surface in mid-air. The carpet reacts to nearby characters (including Link, the salesman, bombs, or even NPCs during credits), generating localized ripples based on proximity and position. The carpet’s surface is animated using sinusoidal wave patterns with vertex displacement. It alternates between two vertex buffers (odd and even) each frame for smooth animation and lighting.


En_Jsjutan

ID: 016B
Object: 0001
Known Default Requirements:
Must be parented to the Magic Carpet Salesman
Code Files: z_en_jsjutan.c
Destructible Level Elements Obstacle

Megaton Hammer Statue

The Bg_Hidan_Dalm actor is a dynamic, destructible object used in the Fire Temple to represent hammerable totem pieces. When initialized, it checks a switch flag to determine if it should already be removed from the scene—if not, it remains idle in a wait state. In this state, it listens for an attack from the player using the Megaton Hammer. Upon being struck, it triggers a short animation where the totem rotates, moves slightly, and then begins to shrink while emitting sparkle effects. Once fully shrunken, it disappears from the scene, sets the corresponding switch flag, and plays appropriate sound effects. The actor uses a four-element triangular collider to detect hits from the player, and dynamically updates its collision vertices each frame to match its current transformation. Depending on its parameters, it will render either a totem head or body model, making it a flexible modular component used to gate progress in the Fire Temple.


Bg_Hidan_Dalm

ID: 0040
Object: 002C
Actor Variables
v &>> 0xFF = Type
00 [0000] Lower Part (Flame decal)
01 [0001]+ Top Part (Face decal)
v &>> 0xFF00 = Switch Flag
Gate Level Elements

Metal Bars (Ganon’s Castle)

The Bg_Zg actor represents the large vertical metal bars found in Ganon’s Castle. These bars are dynamic background elements that can be raised and removed from the scene when specific conditions are met—namely, when a switch flag is set. Upon initialization, the actor checks if a relevant switch is already activated and removes itself if so. Otherwise, it loads its collision data and sets its position and scale based on actor parameters. The actor responds to game logic in two main states: waiting for the switch flag to trigger the bar's movement, and animating the upward motion as the bars rise. Once they have risen past a certain height, the actor deletes itself. A special anti-piracy check is also embedded in the code for the N64 version to prevent the bars from opening if the system’s memory state is invalid, an intentional deterrent against using unauthorized copies of the game. The visual representation uses a specific display list and scales appropriately depending on which instance of the bars is being rendered. This actor contributes to key dramatic moments in Ganon’s Castle, reinforcing progression by gating access until certain in-game events have occurred.


Bg_Zg

ID: 0177
Object: 0156
Code Files: z_bg_zg.c
Actor Variables
//FIXME: variable
v &>> 0x3F00 = Switch Flag
Gate Level Elements

Metal Gate (Water Temple)

The Bg_Mizu_Shutter actor controls the metal shutter gates found in the Water Temple. These gates operate based on switch triggers and timed logic, playing a key role in the temple’s dynamic, puzzle-based progression. Each shutter can be in either a small or large variant and is defined by parameters such as open/closed positions, a switch flag, and an optional timer. When the designated switch is activated, the shutter initiates a cutscene if appropriate, plays a metal door opening sound, and then smoothly moves from its closed to open position. If a timer is set (less than the default max of 0x3F * 20 frames), the door remains open for that duration before automatically closing again. During movement, the actor uses smooth interpolation for position changes, accompanied by fitting sound effects and even controller rumble feedback. Visually, it renders one of two display lists depending on its size type, and it makes use of dynamic collision through the DynaPoly system to block or allow player passage. The logic ensures the shutter is persistent, responsive to switch states, and blends well into the puzzle design of the Water Temple.


Bg_Mizu_Shutter

ID: 01BB
Object: 0059
Code Files: z_bg_mizu_shutter.c
Actor Variables
v &>> 0xF000 = Type
0 [0000] Vertical
1 [1000] Horizontal
2 [2000]+ Invalid
v &>> 0x0FC0 = Timer (Seconds)
v &>> 0x3F = Switch Flag
Level Elements Obstacle Trap

Metal Spike Trap

En_Trap is a hostile mechanical spike trap found in dungeons such as the Shadow Temple and Bottom of the Well. It moves using one of three configurable behaviors based on its parameters: linear (sliding back and forth), circular (orbiting a central point), or four-directional (lunging at the player when nearby). It actively damages and knocks back Link upon contact and uses a cylindrical collision detector to manage interactions. If struck by an ice-based attack, it temporarily freezes, halting its motion and displaying icy visual effects. The trap makes mechanical sounds while moving and reacts to collisions with walls or actors, reversing or stopping when necessary. Its behavior is driven by internal logic that calculates directions, distances, and actor proximity each frame, making it a dynamic obstacle that adds pressure and timing challenges to dungeon traversal.


En_Trap

ID: 0080
Object: 0085
Code Files: z_en_trap.c
Actor Variables
v &>> 0x30 = Pattern
0 [0000] 4-Way Attack
1 [0010] Line Loop
2 [0020] Circle Loop
3 [0030] Vertical //Unintended Behavior?
v &>> 0xF000 = Radius //v &>> 0x0F00 + 1 * 20
v &>> 0xF000 = Trap Range //Distance = v * 40 units (Type 0 and 1)
v &>> 0x0001 = Move North //Type 0. Relative to Model Space before applying rotation
v &>> 0x0002 = Move South //Type 0. Relative to Model Space before applying rotation
v &>> 0x0004 = Move West //Type 0. Relative to Model Space before applying rotation
v &>> 0x0008 = Move East //Type 0. Relative to Model Space before applying rotation
v &>> 0x0F00 = Attack Speed (Units) //4-Way Attack glitches if speed != 0xF
Level Elements Push / Pull Puzzle

Milk Crate

The Bg_Spot15_Rrbox actor is the pushable wooden milk crate found at Lon Lon Ranch. It functions similarly to push blocks in dungeons but with scene-specific logic and constraints. The crate can be pushed by Link in the direction he is facing, will slide forward on a grid, and checks if it is placed correctly (e.g., on a designated ground spot). If misaligned, the crate falls and resets its position. Some crates are permanently moved once a switch flag is set. Sound effects play during sliding, collision, or falling. The actor tracks player interaction and precise movement for puzzle solving and scene scripting.


Bg_Spot15_Rrbox

ID: 0107
Object: 00F0
Code Files: z_bg_spot15_rrbox.c
Actor Variables
v &>> 0xFF = Switch Flag? //Hyrule Castle Puzzle. Note this can auto-solve itself
Hints / Messages Invisible Level Elements

Navi Information Spot (Targetable, Green)

The Elf_Msg2 actor is a targetable Navi hint point used throughout Ocarina of Time to trigger contextual dialogue when Link is nearby and uses the C-Up command to interact. Upon initialization, it checks various flags to determine if it should be removed from the scene immediately—for example, if a specific switch flag is already set or if the room has been cleared. If not, it sets up an internal action function that either waits for a specific switch flag to become active (delaying its interactivity) or allows immediate interaction. The actor's parameters control which message will be displayed, whether it should destroy itself after use, and what switch flag, if any, should be activated once the message is read. In most cases, once the Navi message is delivered and the player closes the textbox, the actor sets its designated switch flag and then removes itself, unless configured to persist via a special rotation value. This makes Elf_Msg2 especially useful for puzzle hints, optional guidance, and scene-based progress triggers. In debug mode, the actor even renders a faint blue cube to help developers visualize its location and range.


Elf_Msg2

ID: 0173
Object: 0001
Actor Variables
See actor 11B for variables
Hints / Messages Level Elements

Navi Message

The Elf_Msg actor (z_elf_msg.c) in Ocarina of Time represents invisible Navi call spots—locations where Navi flies to prompt the player with context-sensitive advice or messages. These actors use either a cuboid or cylindrical detection zone to determine if the player is within range, triggering Navi to offer dialogue based on pre-set parameters. They can conditionally appear or self-destruct depending on switch flags or room clear status, allowing designers to tailor when advice becomes available. The actor can also set new switch flags once the player accepts the interaction, enabling progression or event tracking. While normally invisible in gameplay, a debug draw function reveals their shapes for testing. This system forms a key part of the game's guidance mechanic, quietly supporting storytelling and tutorial delivery without intrusive UI elements.


Elf_Msg

ID: 011B
Object: 0001
Code Files: z_elf_msg.c
Actor Variables
v &>> 0x8000 = Type
00 [0000] Talk when in range
01 [8000] C-Up Prompt
v &>> 0x3F00 = Switch Flag
v &>> 0xFF = Message ID (+0100)
00 [0000] What’s that?
01 [0001] Look, look, LINK! You can see down below this web using C-Up!
02 [0002] Look at this wall! The vines growing on it give it a rough surface... Maybe you can climb it, LINK!
03 [0003] You can open a door by standing in front of it and pressing A. Pay attention to what the Action Icon says. That’s the blue icon at the top of the screen!
04 [0004] Look! Something is hanging up there! It looks like an old ladder!
05 [0005] Hey... isn’t that the same design that’s on the Door of Time?
06 [0006] It looks like that torch was burning not too long ago...
07 [0007] From here on, we’ll be going through some narrow passages! If you take it slow, maybe you can sneak up on some enemies.
08 [0008] Stand next to this block and grab hold of it with A. While holding A, you can push or pull it. If you stand next to the block and press A while pressing [the control stick] towards the block, you can climb on top of it. Pay attention to what the Action Icon says!
09 [0009] 0109
0A [000A] 010a
0B [000B] 010b
0C [000C] After you get into the water, if you hold down A, you can dive! I bet there are some interesting things underwater!
0D [000D] 010d
0E [000E] 010e
0F [000F] 010f
10 [0010] 0110
11 [0011] 0111
12 [0012] 0112
13 [0013] 0113
14 [0014] Wow! Look at all those Bomb Flowers! Is there any way you can set them all off at once?
15 [0015] It looks like there are many lava pits around here, so watch your step!
16 [0016] With that switch on, the moving platform goes even higher. Now you can quickly reach the second floor!
17 [0017] 0117
18 [0018] 0118
19 [0019] You never know what will be around the corner in these narrow paths... Use Z Targeting to always look in the proper direction. This is a useful technique, isn’t it?
1A [001A] 011a
1B [001B] 011b
1C [001C] 011c
1D [001D] 011d
1E [001E] 011e
1F [001F] LINK, what are you looking at?
20 [0020] 0120
21 [0021] 0121
22 [0022] 0122
23 [0023] 0123
24 [0024] The Desert Colossus’s face... it sure looks evil!
25 [0025] 0125
26 [0026] I can hear the spirits whispering in this room... “Look for the eye of truth...” That’s what they’re saying!
27 [0027] 0127
28 [0028] Here... I can hear the spirits whispering in this room... “Those who have sacred feet should let the wind guide them. Then, they will be lead to the hidden path.” That’s what they are saying!
29 [0029] This wall... it says something here... “Danger above...” That’s what it says.
2A [002A] This wall... it says something here... “Danger below...” That’s what it says.
2B [002B] The water flowing out of this statue is flooding the entire floor.
2C [002C] 012c
2D [002D] 012d
2E [002E] 012e
2F [002F] Watch out, LINK! Electricity is running through this green slimy thing!
30 [0030] 0130
31 [0031] Watch out, LINK! Electricity is running through this red slimy thing!
32 [0032] Watch out, LINK! Electricity is running through this blue slimy thing!
33 [0033] This switch... It doesn't look like you can press it down with your weight alone, LINK...
34 [0034] 0134
35 [0035] 0135
36 [0036] 0136
37 [0037] The red slimy thing is gone! That must be because you cut the red tail! Will that work with the other ones too?
38 [0038] 0138
39 [0039] There’s a switch beyond this wall!
3A [003A] It looks like there is something up there on top of the platform!
3B [003B] 013b
3C [003C] 013c
3D [003D] WHAAAT!? Look at all those flags! Can you figure out which ones are real? //Unused?
3E [003E] 013e
3F [003F] 013f
40 [0040] The Great Deku Tree has summoned you! Please come with me!
41 [0041] C'mon! Be brave! Let's go into the Deku Tree!
42 [0042] The Great Deku Tree wanted us to go visit the princess at Hyrule Castle... Shouldn’t we get going?
43 [0043] The girl from the ranch asked us to find her father... I wonder where he is?
44 [0044] I wonder where we'll find the princess in this big old castle?
45 [0045] What would Saria say if we told her we’re going to save Hyrule?
46 [0046] Impa said that the Spiritual Stone of Fire is somewhere on Death Mountain.
47 [0047] Let’s go inside the Dodongo's Cavern using a Bomb Flower!
48 [0048] Darunia said that a fairy lives on top of Death Mountain, didn’t he?
49 [0049] I wonder if Saria knows anything about the other Spiritual Stone?
4A [004A] It seems Princess Ruto somehow got inside Jabu-Jabu's belly...
4B [004B] You collected three Spiritual Stones! Let’s go back to Hyrule Castle!
4C [004C] Those people on the white horse... they were Zelda and Impa, weren't they? It looked like they threw something into the moat!
4D [004D] Let’s go check inside the Temple of Time.
4E [004E] Should we believe what Sheik said and go to Kakariko Village?
4F [004F] 014f
50 [0050] I wonder what’s going on in the forest right now... I’m worried about Saria, too!
51 [0051] That cloud over Death Mountain... there is something strange about it...
52 [0052] An arctic wind is blowing from Zora's River... do you feel it?
53 [0053] Those Iron Boots look like they weigh a ton! If you wear those boots, you may be able to walk at the bottom of the lake.
54 [0054] Let’s look for someone who might know about the other Sages!
55 [0055] That monster! It came out of the well in the village! Let’s go check out the well!
56 [0056] I wonder who built the Spirit Temple, and for what purpose?
57 [0057] Have you ever played the Nocturne of Shadow that Sheik taught you?
58 [0058] The desert... that is where Ganondorf the Evil King was born. If we go there, we might find something...
59 [0059] 0159
5A [005A] Equip the Silver Gauntlets and try to move things you couldn't budge before!
5B [005B] The one who is waiting for us at the Temple of Time...it could be...
5C [005C] We have to save Princess Zelda from her imprisonment in Ganon's Castle!
5D [005D] 015D
5E [005E] 015E
5F [005F] LINK, try to keep moving!!
60 [0060] I don’t mind talking to you using the Ocarina’s magic, but I’d really like to talk to you face-to-face!
61 [0061] The forest is connected to many different places! If you can hear my song, you must be near somewhere that is connected to the forest!
62 [0062] I was so happy to hear that Mr. Darunia loved my song so much! I was even happier to find out I helped out on your quest, LINK! Tee hee hee!
63 [0063] Are you collecting Spiritual Stones? You have one more to find? You mean the Spiritual Stone of Water, don’t you? The Great Deku Tree once told me that King Zora, ruler of Zora’s Domain, has it...
64 [0064] Are you collecting Spiritual Stones? You have one more to find? You mean the Spiritual Stone of Fire, don’t you? The Great Deku Tree once told me that Mr. Darunia of the Gorons has it...
65 [0065] LINK... I don’t know what it is... I have this feeling of dread... The Castle... Yes, something bad is happening at the Castle!
66 [0066] What? Your ocarina sounds... different somehow... Have you been practicing a lot, LINK?
67 [0067] Are you looking for a temple? A mysterious bird once told me... “Eyes that can see through darkness will open in a storm.” Do you have any idea what he meant by this?
68 [0068] Where are you, LINK? Are you looking for a temple? I once heard a mysterious bird say... “Go, young man. Go to the Desert Goddess with an ocarina.” Do you have any idea what he meant by this?
69 [0069] Did you find all the temples yet?
6A [006A] Great! You’re safe! I knew I would hear from you again! I’m in the Forest Temple! The forest spirits were calling for help, so I went to check it out... But it’s full of evil monsters! Help me, LINK!
6B [006B] LINK... At first, I didn’t want to become the Sage of the Forest... But I’m glad now. Because I’m helping you save Hyrule, LINK! Yes, I am!
6C [006C] If all six Sages come together, we can imprison Ganondorf, the King of Evil, in the Sacred Realm. But in order to make a perfect seal, we need the seventh Sage. Someone you know must be that Sage, LINK... From now on, you must travel between past and future to awaken the remaining Sages! Keep up the good work, LINK!
6D [006D] We, the Six Sages, are channeling our power to you! The destiny of Hyrule depends upon you!
6E [006E] 016e
6F [006F] 016f
70 [0070] 7F = You borrowed a Pocket Egg! A Pocket Cucco will hatch from it overnight. Be sure to give it back when you are done with it.
80 [0080] I can hear a voice from / somewhere... / It's saying: / "Collect five silver Rupees..."
81 [0081] This wall...it's saying something! / It says: / If you want to see a ferry to the / other world, come here...
82 [0082] 0182
83 [0083] If you want to ride that boat, be / careful! It looks very old... Who / knows when it might sink?
84 [0084] There is a door over here... Is / there any way to get across?
85 [0085] 0185
86 [0086] That red ice...it's so weird!
87 [0087] 0187
88 [0088] 0188
89 [0089] This blue fire...it doesn't seem / natural. Maybe you can use it for / something?
8A [008A] 018a
8B [008B] 018b
8C [008C] The fires on the torches are gone. / Seems like the ghosts took them / away!
8D [008D] Look, Link! A torch / is lit! That's because / you beat a ghost, isn't it?!
8E [008E] 018e
8F [008F] There are arrows painted on the / floor!
90 [0090] This corridor is all twisted!
91 [0091] Watch for the shadows of / monsters that hang from the / ceiling.
92 [0092] There's a treasure chest here.
93 [0093] 0193
94 [0094] This...this is the same torch we / saw at the entrance to the temple, / isn't it?
95 [0095] This torch is lit...that means...
96 [0096] 0196
97 [0097] This switch is frozen!
98 [0098] Link, watch out! / The ceiling is falling down!
99 [0099] 0199
9A [009A] 019a
9B [009B] 019b
9C [009C] 019c
9D [009D] 019d
9E [009E] 019e
9F [009F] 019f
A0 [00A0] 01a0
A1 [00A1] 01a1
A2 [00A2] 01a2
A3 [00A3] Link, I hear Goron / voices down below.
A4 [00A4] 01a4
A5 [00A5] You can see down from here... / Isn't that the room where we saw / Darunia?
A6 [00A6] 01a6
A7 [00A7] This statue...haven't we seen it / somewhere before?
A8 [00A8] 01a8
A9 [00A9] This switch looks rusted.
AA [00AA] 01aa
AB [00AB] Link! Be careful! / Don't get swallowed by the / vortexes!
AC [00AC] 01ac
AD [00AD] 01ad
AE [00AE] 01ae
AF [00AF] 01af
B0 [00B0] 01b0
B1 [00B1] 01B1
Climbable Effects Item Level Elements

Nayru’s Love

The Magic_Dark actor handles the visual and functional aspects of Nayru’s Love, a magical shield ability that makes Link temporarily invincible. When activated, it initially spawns as an orb of light forming between Link’s hands, accompanied by gradually intensifying light and sound effects. After a short buildup, it transitions into a diamond-shaped protective barrier that surrounds Link. The diamond continuously follows Link’s waist position and rotates to maintain visual appeal. While active, it disables collision damage by repeatedly setting Link’s invincibilityTimer to a negative value. The actor also gradually adjusts the fog and lighting in the environment to create a more mystical and protective atmosphere. It is removed automatically after a fixed duration or if certain cutscenes are triggered, such as playing warp songs. The shader effects, sound cues, and visual transitions are tightly controlled by frame-based timers, ensuring a smooth and cinematic transformation from orb to shield.


Magic_Dark

ID: 00F4
Object: 0001
Code Files: z_magic_dark.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Normal
0001 [0001]+ No bright sphere, first one dies off quickly
Level Elements Obstacle

Obstacle Fence (Lon Lon Ranch)

The Bg_Umajump actor is a hoppable wooden fence used in areas where Link can ride Epona. This object allows Epona to jump over it, commonly seen in ranches, fields, or horse-riding courses. It features dynamic collision so the player and horse can interact with it, and optionally hides itself if the player has not obtained Epona yet. The fence is visually static but serves as a gameplay mechanic to test or require horse jumping skill.


Bg_Umajump

ID: 0108
Object: 0100
Known Default Requirements:
Room Object: Horse - Jumping Fence - UMAJUMP
Code Files: z_bg_umajump.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Fence
0001 [0001] Nothing //FIXME: Possibly waypoint for the Ingo Race
FFFF [FFFF] Fence
Level Elements Song Actor Switch

Ocarina Music Staff Spot

The En_Okarina_Tag actor represents invisible trigger points where the player can play specific Ocarina songs to cause events in the game world. These actors are scattered throughout the world and facilitate puzzles, environmental changes, and story progression through song recognition. When the player approaches one of these spots and plays the correct tune—such as Zelda's Lullaby, the Song of Time, or the Song of Storms—the game responds with a visual, audio, or scripted effect, such as opening a tomb, triggering a cutscene, or starting rain. The actor can also be used for teaching songs or advancing story milestones and supports customizable interaction range and multiple internal behavior modes based on parameter configuration.


En_Okarina_Tag

ID: 012E
Object: 0001
Code Files: z_en_okarina_tag.c
Actor Variables
v &>> 0xFC00 = Spot Type
01 [0400] Zora River, Zelda's Lullaby Spot (no cutscene)
02 [0800] Windmill, Song of Storms spot (cutscene)
03 [0C00] ???
04 [1000] Temple of Time, Song of Time spot (cutscene)
05 [1400] Learn Sun's Song spot
06 [1800] Royal Family Tomb, Zelda's Lullaby spot
07 [1C00] Puzzle Spot
v &>> 0x03C0 = Song to play //Puzzle Spot only?
01 [0040] Epona's Song
02 [0080] Zelda's Lullaby
03 [00C0] Sun's Song
04 [0100] Song of Time?
05 [0140] Song of Storms
06 [0180] ???
07 [01C0] Create Bonooru Song spot
08 [0200] Create Pierre's Song (long song) spot?
0B [02C0] Playback of Bonooru's song when pulling Ocarina
0C [0300] Playback of random 3 notes (Skull Kid Ocarina Minigame)
0F [03C0] All 6 non-warp songs / Preset song
v &>> 0x003F = Switch Flag
Cutscene Item Level Elements

Ocarina of Time

The Item_Ocarina actor, represents the musical instrument known as the Ocarina of Time. This actor is used in key cutscenes and scripted events, such as when Link throws the Ocarina into the moat or retrieves it afterward. The actor supports multiple behaviors defined by its parameters: it can be thrown and animated mid-air, land in water triggering ripples and splashes, or wait submerged for the player to pick it up. Specific cutscene frames control when the Ocarina appears, moves, and triggers effects. This detailed scripting gives the item a cinematic presence in the story.


Item_Ocarina

ID: 00F1
Object: 00DE
Code Files: z_item_ocarina.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Ocarina of Time being tossed higher in air
0001 [0001] Ocarina of Time being tossed in air
0002 [0002] Ocarina of Time
0003 [0003] Collectible Ocarina of Time
Level Elements

Orange Pot

En_Vase is an unused decorative actor in Ocarina of Time modeled after an orange pot seen in A Link to the Past. It lacks interactivity or collision, serving purely as a visual element. When initialized, it scales down to 1% of its original model size and sets its focus position for camera interactions. Although it casts a circular shadow, it cannot be broken, picked up, or interacted with in any way. The actor renders using the gUnusedVaseDL display list and is never placed in the original game maps, making it another unused asset that could be repurposed in custom mods or restored content.


En_Vase

ID: 0082
Object: 0086
Code Files: z_en_vase.c
Cutscene Enemy Level Elements

Phantom Ganon’s Horse

The En_fHG actor represents Phantom Ganon’s spectral horse, playing a central role in the cinematic boss fight in the Forest Temple. It appears during the dramatic cutscene sequence before the battle and serves as the vehicle Phantom Ganon rides in and out of enchanted paintings. The actor handles complex camera transitions, fog effects, timed animations, and interactions with Boss Ganondorf (En_Boss_Ganondrof), dynamically adjusting its behavior based on battle phase and player position. Depending on its parameters, it can play through the full intro cutscene or spawn mid-battle to initiate approach or retreat behaviors. It supports rendering tricks like fog color blending and morphing scale to simulate teleportation into paintings, while also coordinating sound, animation, and environmental changes to enhance the boss’s haunting presentation.


En_fHG

ID: 0067
Object: 005A
Hints / Messages Hookshotable Level Elements NPC

Pierre the Scarecrow

The En_Kakasi actor represents Pierre the Scarecrow, a memorable NPC in Ocarina of Time who plays a special role in Link’s musical journey. This actor allows players to create and later summon a custom Scarecrow's Song, enabling strategic hookshot points in certain areas. Upon initialization, Pierre sets up his animation and hookshot interaction flags, and determines dialogue options depending on whether the player is child or adult Link and whether a custom song has been saved. The actor's behavior is governed by a state machine that transitions through idle, dialogue, and cutscene states. When interacted with, Pierre initiates a One-Point Cutscene and listens for ocarina inputs. If the player plays a valid sequence, Pierre animates and reacts to each button press with playful movements and sound effects, including spins and bounces. Once the song is recorded, a cutscene concludes and the song is saved to the game state. The code handles both recording and playback modes and uses animation blending, camera transitions, and actor state flags to maintain immersion. Pierre also includes collider logic for player interaction and updates animation frames each tick. This actor contributes both to gameplay utility and the quirky charm that defines many of Ocarina of Time’s NPCs.


En_Kakasi

ID: 017B
Object: 0154
Code Files: z_en_kakasi.c
Level Elements NPC Spawner

Pierre the Scarecrow Spawn

The En_Kakasi2 actor represents Pierre the Scarecrow's spawn point in The Legend of Zelda: Ocarina of Time. This actor enables one of the most iconic optional mechanics in the game—custom Scarecrow Song hookshot points. After the player teaches a custom song to Bonooru (the scarecrow by Lake Hylia), Pierre can be summoned at specific locations by playing that song on the Ocarina, allowing the player to hookshot to areas otherwise unreachable.

When initialized, En_Kakasi2 checks a variety of parameters:
It determines whether a certain switch flag has been set, which controls whether Pierre should appear persistently.
It also configures custom spawn range values for XZ and Y axes, defining how close the player must be for Pierre to activate.

If the conditions are met—either the custom Scarecrow Song is played or debug flags are used—Pierre rises from the ground in a cinematic cutscene, accompanied by sound effects and an idle animation. He becomes hookshot-able thanks to a cylindrical collider flagged with HOOKABLE, and he draws attention using ACTOR_FLAG_ATTENTION_ENABLED. Once spawned, his state changes and persists if tied to a switch flag.

The scarecrow uses skeletal animation with a looping idle pose and rotating movement to simulate liveliness. Debugging printouts throughout the code show how developers fine-tuned spawn behavior using the actor's distance to the player and debug registers (BREG), including visual debug aids in development builds.

Overall, En_Kakasi2 is a highly interactive and conditional actor, allowing players to creatively use their custom song for traversal, and offering a satisfying reward for engaging with a quirky side quest mechanic.


En_Kakasi2

ID: 01C9
Object: 0154
Code Files: z_en_kakasi2.c
Actor Variables
//Green Navi spot
v &>> 0x003F = Switch Flag
v &>> 0x3FC0 = Spawn Range XZ
rz &>> 0xFFFF = Spawn Range Y
Level Elements Puzzle

Poe Sisters’ Paintings and Puzzle Block

The z_bg_po_event.c actor manages the Poe torch puzzle events in the Forest Temple, where Link must solve a series of tasks involving four Poe Sisters. This actor controls the torches that light up or extinguish as the player progresses, reflecting the status of each Poe Sister. It visually updates flames, handles animations, and syncs with game flags to determine which Poes have been defeated. The actor also contributes to the central elevator room puzzle by unlocking the rotating block mechanism once all torches are lit. Through clever state tracking and visual effects, this actor reinforces the eerie, haunted atmosphere of the dungeon while tying together its multi-room puzzle progression.


Bg_Po_Event

ID: 0093
Object: 0099
Code Files: z_bg_po_event.c
Actor Variables
v &>> 0x3F = Switch Flag
v &>> 0xFF00 = Puzzle Type
00 [0000] ??? Amy
01 [0100] ??? Amy
02 [0200] Joelle Painting Puzzle
03 [0300] Beth Painting Puzzle
04 [0400] ??? Amy
Obj_Mure
Effects Level Elements Trap

Proximity Activated Fire Wall

Proximity Activated Fire Wall actor, is a triggered wall of flames used in the Fire Temple of The Legend of Zelda: Ocarina of Time. This actor remains invisible and inactive until the player approaches it, at which point it erupts into a damaging flame wall. The firewall uses visual effects, sound, and collision detection to simulate a hazardous barrier blocks or creates pressure in puzzle or combat scenarios. The firewall begins in an idle state and constantly checks if the player enters a rectangular activation zone (100 units x-axis, 120 units z-axis). Once triggered, it transitions through a brief countdown before becoming fully active. The flame animation cycles through 8 textures (gFireTempleFireball0Tex to gFireTempleFireball7Tex) every frame via unk_150, simulating a flickering effect. This is rendered using a translucent display list.


Bg_Hidan_Firewall

ID: 000C
Object: 002C
Known Default Requirements:
Fire Temple Objects - HIDAN_OBJECTS
Code Files: z_bg_hidan_firewall.c
Actor Variables
v &>> 0xFFFF = Type
Effects Level Elements

Proximity Weather Effects

The En_Weather_Tag actor is responsible for dynamically triggering weather changes—such as rain, clouds, snow, thunderstorms, and sandstorms—when the player enters a designated proximity radius. Each weather tag is initialized with a specific mode based on its params, such as cloudy weather for Hyrule Market or rain and thunder for Lake Hylia. Once the player enters the tag’s detection range, the actor smoothly transitions the environment settings, including skybox, lighting, precipitation, ambient sounds, and fog values to simulate the desired weather. If the player exits the area, the tag gradually restores the previous weather conditions. Some weather tags also include logic to prevent activation if certain event flags or story progress milestones have been met, making them context-sensitive and ensuring they only appear during the appropriate points in the game.


En_Weather_Tag

ID: 0165
Object: Object: 0001
Code Files: z_en_weather_tag.c
Actor Variables
v &>> 0x000F = Type
0 [0000] Cloudy, always persists //Hyrule Market, Market Entrance
1 [0001] Cloudy, active before obtaining Epona //Hyrule Field, Lon Lon Ranch
2 [0002] Snow, active before beating Water Temple //Zora's River/Domain object 0003, needs actor number 0097 with variable 0003
3 [0003] Rain, active before beating Water Temple //Lake Hylia
4 [0004] Cloudy, active before beating Fire Temple //Kakariko Village, Death Mountain Crater
5 [0005] Thunderstorm, active after getting first 3 medallions, but haven't gotten Shadow Medallion //Kakariko Village, Kakariko Graveyard
6 [0006] Increase Sandstorm Intensity
7 [0007] Heavy rain, thunder strikes //Kakariko Graveyard
v &>> 0xFF00 = Effect Proximity (per 100 units)
Level Elements Puzzle

Push Block Puzzles

The Obj_Makeoshihiki actor is a hardcoded puzzle setup used to spawn and control push blocks in predefined configurations. Instead of relying on dynamic object placement, this actor spawns a child Obj_Oshihiki block at one of three preset positions determined by the current puzzle state and in-game flags. During initialization, it checks various switch flags to determine which block position to use, then spawns the corresponding block with specific attributes such as size, color, and behavior (like immovability). The actor also contains logic in its draw function to monitor the position of the child block—when the block is aligned with a designated target spot, it updates associated switches and can play a chime sound to indicate success. The configuration includes logic for enabling or disabling specific switches based on bitwise conditions, providing feedback through sound effects, and locking the block in place once it reaches the correct location.


Obj_Makeoshihiki

ID: 017D
Object: 0003
Code Files: z_obj_makeoshihiki.c
Actor Variables
//Hardcoded Positions
v &>> 0x4000 = Ignore Switch Flag (First Destination)
v &>> 0x3F00 = Switch Flag (First Destination)
v &>> 0x0040 = Ignore Switch Flag (Second Destination)
v &>> 0x003F = Switch Flag (Second Destination)
rz &>> 0x0001 = Type
00 [0000] Water Temple //Requires Goron Bracelet or better to move as child or adult
01 [0001] Deku Tree
Level Elements Push / Pull Puzzle

Pushable Block

The Obj_Oshihiki actor represents the classic pushable blocks used in many dungeon puzzles throughout The Legend of Zelda: Ocarina of Time. These blocks can be pushed or pulled by the player under certain conditions and are commonly used to press switches, create platforms, or open paths. The actor handles detailed logic such as determining if Link is strong enough to move it (based on strength upgrades), falling behavior if unsupported, syncing movement when stacked on top of another block, and adapting its behavior depending on the scene and block type. The block's appearance, size, and function (e.g., initially present or hidden based on a switch flag) are all configurable via its parameters.


Obj_Oshihiki

ID: 00FF
Object: 0003
Known Default Requirements:
Scene: Dungeon
Actor Variables
v &>> 0xFF00 = Nullable Switch Flag
v &>> 0x00C0 = Color //Scene based
00 [0000] Color 1
01 [0040] Color 2
02 [0080] Color 3
03 [00C0] Color 4
v &>> 0x0008 = Unknown //Crashes
v &>> 0x0004 = Spawn on Switch Flag state
00 [0000] Load on 0
01 [0004] Load on 1
v &>> 0x0003 = Size (per axis) //Pushblock's dimensions are 600x600x600 before scaling
00 [0000] 60 units
01 [0001] 100 units
02 [0002] 120 units
03 [0003] 200 units
Level Elements Push / Pull Puzzle

Pushable Ice Block (Ice Cavern)

The Pushable Ice Block (Bg_Ice_Objects) actor represents the sliding puzzle blocks found in the Ice Cavern. These blocks are dynamic background actors that interact with the player’s pushing input and slide across a grid-based floor until they hit a wall or fall into a pit. The actor determines its direction from the player's push and calculates its next stopping point based on predefined wall coordinates. As it slides, it builds momentum, plays ice-sliding sound effects, and emits icy particle effects when moving fast. If the block falls into a pit, it smoothly resets to its original position. Once placed in a specific target location, it becomes "stuck" and unmovable, often as part of a puzzle solution. The logic is crafted to provide both responsive control and visual feedback, creating a satisfying mechanic central to the Ice Cavern’s environmental challenges.


Bg_Ice_Objects

ID: 00D6
Object: 006B
Code Files: z_bg_ice_objects.c
Level Elements Puzzle

Pushable Square Ice Block (Inside Ganon’s Castle)

The Bg_Gnd_Iceblock actor represents the sliding ice blocks used in Ganon's Castle's Water Trial puzzle. These blocks can be pushed by the player and slide across the floor until they collide with an obstacle, fall into a pit, or land in a specific hole. Internally, the actor tracks each block's current grid position within a predefined map and determines legal movement paths based on direction and collision checks. Depending on where the block ends up, it either resets, falls into a pit, or "solves" part of the puzzle by settling into a hole. The actor also handles visual feedback such as slipping effects and ice particle generation while sliding. This logic is deeply tied to scripted cutscenes and player states to ensure that the puzzle interacts cleanly with the game's flow and camera events.


Bg_Gnd_Iceblock

ID: 01B7
Object: 0179
Code Files: z_bg_gnd_iceblock.c
Actor Variables
//Actor 00D6 is used in Ice Cavern
Level Elements Obstacle

Rainbow Bridge to Ganon’s Castle

The Bg_Gjyo_Bridge actor represents the iconic Rainbow Bridge that forms outside Ganon’s Castle, allowing Link to access the final dungeon. At runtime, the actor checks if the event flag for the bridge has been set. If not, it hides the bridge and disables its collision. When Link enters the correct area with both the Shadow and Spirit Medallions and the Light Arrows, it triggers a special cutscene that spawns the bridge. Once the cutscene reaches a specific point, the bridge becomes visible, collision is enabled, and the event flag is set to prevent it from despawning in the future. The bridge uses dynamic scrolling textures for a magical effect and has animated visuals drawn via translucent display lists.


Bg_Gjyo_Bridge

ID: 0148
Object: 0130
Code Files: z_bg_gjyo_bridge.c
Destructible Level Elements Obstacle

Red Ice

I'm working on documenting and organizing all the level item actors in Zelda: Ocarina of Time, and right now I'm focusing on the Red Ice actor (Bg_Ice_Shelter). This actor is used throughout the Ice Cavern and near King Zora, representing magical ice that can only be melted with Blue Fire. There are several different versions—large blocks, small chunks, platforms, walls, and the special case covering King Zora. Each version has its own scale, collision setup, and melting behavior. When hit with Blue Fire, the red ice starts to fade and shrink, releasing steam particles and eventually disappearing. I'm cataloging the specific parameters, display lists, collider configurations, and how the animation and particle effects are triggered, so that I can better understand and repurpose these elements for custom map design.


Bg_Ice_Shelter

ID: 00EF
Object: 006B
Code Files: z_bg_ice_shelter.c
Actor Variables
v &>> 0xFF00 = Type
00 [0000] Large crystal
01 [0100] Smaller crystal
02 [0200] Crystal platform
03 [0300] Meltable ice sheet
04 [0400] Giant crystal
05 [0500] Crashes
0600 [60000] Nothing
v &>> 0xFF = Nullable Switch Flag
Level Elements NPC

Rideable Horse

En_Horse actor in Zelda handles the behavior, animation, collision, and interaction logic for Epona, Link’s horse, as well as other generic horses seen in places like Lon Lon. This is a very long file with almost 4000 lines of code and supports free movement, pathing, player riding, and interactive gameplay mechanics. It’s tightly integrated with both player state and cutscene systems, making it one of the most complex and feature-rich actors in the game.

Common States & Events
Spawned at Lon Lon Ranch or Hyrule Field.
Racing Events: Used during Ingo races.
Escape Scene: Jumping the fence when escaping Ingo.
Call-and-ride Mechanic: Responds to Epona's Song.

Other Related Files
z_en_horse_game_check.c: Handles horse-racing minigame logic.
z_en_horse_link_child.c: Defines the child Link’s horse (used in Lon Lon Ranch).
z_en_horse_ganon.c: Horse used by Ganondorf in final battle.
z_en_horse_normal.c: Handles horses without special behavior (e.g., background props).


En_Horse

ID: 0014
Object: 001A
Code Files: z_en_horse.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000]+ Epona
8000 [8000]+ No Epona
FFFF [FFFF] Default
Elevator Level Elements Obstacle Puzzle

Rising Stone Platform (Dodongo’s Cavern)

The Bg_Ddan_Jd actor is a rising stone platform used in Dodongo’s Cavern. It moves between the dungeon's lower levels, a middle resting point, and the top level, creating a timed elevator cycle that players must use to progress or backtrack. Its movement is controlled by a finite state machine and a delay timer (idleTimer) that determines when it starts moving. The platform creates dust effects and plays movement sound effects while rising or descending. Crucially, if a specific switch is activated (typically through dungeon progression), the platform becomes a shortcut elevator that skips the middle point and ascends directly to the top. This shortcut behavior is triggered only when params < 0x40, which is assumed to represent valid switch flag usage; if this condition isn’t met, the shortcut will not initialize properly. This implementation uses a faster Y-axis movement speed (SHORTCUT_Y_SPEED) and also triggers a cutscene camera effect when the shortcut is activated.


Bg_Ddan_Jd

ID: 0058
Object: 002B
Level Elements Switch

River Boat (Shadow Temple)

The Bg_Haka_Ship actor controls the iconic Shadow Temple Ship sequence. This dynamic background actor has two variants: the main rideable ship and a smaller attached child actor that follows its position. Initially stationary, the ship waits for the player to activate a specific switch using Zelda's Lullaby. Once triggered, it enters a cutscene state and begins rocking before slowly moving forward, simulating a ghostly journey through the depths of the temple. During this ride, it plays ambient bell sounds and gradually accelerates until it reaches a scripted crash point. At that moment, the ship violently shakes and collapses, killing both itself and its child actor. If the player is still on board during the fall, they are voided out to prevent breaking the sequence. The actor uses DynaPoly for collision, timed counters for animation syncing, and SFX cues to enhance immersion. Overall, Bg_Haka_Ship serves as both a storytelling and gameplay mechanic that enhances the eerie atmosphere of the Shadow Temple.


Bg_Haka_Ship

ID: 00B0
Object: 0069
Code Files: z_bg_haka_ship.c
Actor Variables
v &>> 0x3F00 = Switch Flag for Zelda's Lullaby spot
//old notes
//0000 = Normal, doesn't react to Zelda’s Lullaby
//0001+ = Ship is gone, wheels still there?
Destructible Level Elements Plants

Rock/Bush groups

Obj_Mure2 is a dynamic spawner actor used to create groups of objects like bushes (En_Kusa) or rocks (En_Ishi) in either circular or scattered formations. When the player comes within range, the actor spawns its child actors in predetermined positions relative to its own, giving the illusion of environmental clutter. The child actors persist until they are interacted with or collected, after which they are removed from memory. The actor can also detect when a spawned child has been destroyed or picked up, updating its internal state to avoid respawning it. This system allows for flexible environmental population without permanently keeping every object loaded, optimizing performance.


Obj_Mure2

ID: 0151
Object: 0001
Known Default Requirements:
Scene: Overworld
Code Files: z_obj_mure2.c
Actor Variables
v &>> 0xF = Type
00 [0000] Circle of shrubs with one in the middle, random drops
01 [0001] Scattered shrubs, random drops
02 [0002] Circle of rocks, random drops
03 [0003] Crashes
v &>> 0x10 = Spawns set of 3 bugs //FIXME
Untested
v &>> 0xFF00 = Random Drop Table
Level Elements Obstacle Trap

Rolling Boulder (Spirit Temple)

The Bg_Jya_Goroiwa actor is a rolling boulder used primarily in the Shadow Temple and Spirit Temple, designed to move along a preset horizontal path while dealing damage to the player upon contact. It starts by initializing a joint sphere collider for collision detection and setting its shape, shadow, and rotation parameters. Its movement speed is dynamically calculated based on its Y position, simulating a slope effect, and the actor adjusts its rotation to match the movement. When it hits the player, it triggers a knockback and temporarily slows down while bouncing slightly with a vertical offset before resetting. The boulder reverses direction when reaching specific X boundaries and emits a rumbling sound during motion. After hitting the player or reaching a wait state, it pauses for a short duration before resuming movement. The actor handles its own collision updates and floor detection, and visually renders using a display list of the large rock model. Its behavior loop balances predictable movement with reactive physics for engaging obstacle design.


Bg_Jya_Goroiwa

ID: 00F9
Object: 011F
Known Default Requirements:
OBJECT_GOROIWA
Code Files: z_bg_jya_goroiwa.c
Level Elements Obstacle Trap

Rolling Boulder Follows Path

The En_Goroiwa actor represents rolling boulders commonly found in areas like Goron City, Death Mountain Trail, and the Fire Temple. These boulders either follow a looping path along predetermined splines or fall from above to crush the player. The actor calculates gravity, collision response, and rolling direction based on its type and current state. Rolling boulders continuously follow a set course, respawning when destroyed or offscreen, while falling rocks wait in place until triggered (often by proximity or timer), then fall, bounce, and eventually reset. The actor features dynamic physics including rotation, bounce scaling, and visual effects like dust clouds on impact, making it a versatile environmental hazard.


En_Goroiwa

ID: 0130
Object: 011F
Code Files: z_en_goroiwa.c
Actor Variables
v &>> 0x0300 = Pattern
00 [0000] Follows path, disappears, reappears at first waypoint //simulates falling into a hole
01 [0100] Follows path, breaks into pieces, reappears at first waypoint //As in adult Death Mountain Trail
02 [0200] Follows path, treating it as a closed loop
03 [0300] Follows path, halts, reverses, repeat //As in Fire Temple boulder maze
v &>> 0xFF = Path Id
rz &>> 0x0001 = Behavior after colliding with Link
0 [0000] Reverse path
1 [0001] Follow path
Invisible Level Elements Puzzle

Room Timer

The Obj_Roomtimer actor is responsible for starting Timer 1 in a room, commonly used in time-based puzzles or challenges. When the actor initializes, it reads a timer duration from its parameters and clamps it to a maximum of 600 seconds if not set to the special value 0x3FF (which disables the timer). Once active, it sets the countdown and monitors room progress. If the player clears the room before time runs out, the actor stops the timer, sets a temporary clear flag, activates a switch, plays a success chime, and removes itself. If the timer reaches zero without the room being cleared, it triggers the void-out sequence, simulating a failure condition such as falling or running out of time.


Obj_Roomtimer

ID: 0187
Object: 0001
Actor Variables
v &>> 0xFC00 = Switch Flag //Set on room clear
v &>> 0x3FF = Timer in seconds (capped to 10 minutes)
3FF [03FF] No Timer
Level Elements Puzzle

Rotatable Cobra Mirror (Spirit Temple)

The Bg_Jya_Cobra actor is an animated environmental object representing a large snake-head statue, commonly used in temple settings to enhance atmosphere or signal puzzle mechanics. It operates by rotating or sweeping in a programmed motion, often tied to a predefined path or internal animation loop. The cobra head does not interact directly with the player through collisions or damage but is designed to visually convey the operation of ancient machinery or magical influence. Its smooth, repetitive motion is driven by trigonometric functions and internal timers, and it may include sound effects to reinforce its heavy, mechanical feel. The actor adds cinematic or thematic weight to temple scenes, often placed in areas where it draws attention or accentuates a key part of a puzzle or room layout.


Bg_Jya_Cobra

ID: 00FC
Object: 00F1
Known Default Requirements:
object_jya_obj
Code Files: z_bg_jya_cobra.c
Actor Variables
v &>> 0xFF = Type
00 [0000] Large shadow //looks like it’s reproduced, well-done though
01 [0001] Small Shadow //same technique
02 [0002] No shadow
03 [0003]+ Crashes
v &>> 0x3F = Switch Flag
Level Elements

Rotatable Walls (Forest Temple)

The Bg_Mori_Kaitenkabe actor handles the rotating wall in the basement of the Forest Temple. This mechanic is used during a puzzle sequence where Link must push a wall to reveal different rooms. The wall is represented as a dynamic actor that rotates 45 degrees when Link interacts with it.

Upon initialization, the actor sets up its collision and waits for the required texture to load. Once loaded, it transitions to a waiting state where it checks for player interaction. If Link pushes the wall for more than 28 frames and isn’t in a cutscene, the wall begins to rotate. The direction of rotation is determined by calculating the cross product between the push direction and the lever arm (from wall center to Link). This allows the wall to rotate in the correct direction relative to Link's push.

The rotation smoothly interpolates using Math_StepToF, gradually increasing rotation speed and angle until the wall reaches 45 degrees, at which point it stops and resets its state. During this process, sound effects for wall sliding and stopping play to enhance the experience, and Link’s position is locked to prevent clipping. This entire system adds depth to dungeon navigation and creates a memorable moment in the Forest Temple’s design.


Bg_Mori_Kaitenkabe

ID: 0088
Object: 0072, 0073
Code Files: z_bg_mori_kaitenkabe.c
Level Elements Obstacle Puzzle

Rotating Spiked Log (Deku Tree)

The Bg_Ydan_Maruta actor represents two trap-related elements in the Deku Tree dungeon: the rolling spike log and the falling ladder. When placed with parameter 0, it becomes the rotating log that swings back and forth and can knock Link back upon collision. It uses a triangle collider to detect hits and plays a wooden rolling sound effect as it spins. When parameter 1 is set, the actor becomes the falling ladder that drops down after being hit by a slingshot or similar attack. The ladder only falls once per save file, tied to a switch flag, and includes cutscene and camera behavior for dramatic effect. It also slides forward slightly before falling, mimicking a physical release.


Bg_Ydan_Maruta

ID: 0051
Object: 0036
Code Files: z_bg_ydan_maruta.c
Level Elements

Rotating Stone Ring Platform

The Bg_Menkuri_Kaiten actor is a large, rotating stone ring platform used in areas like the Gerudo Training Grounds and Forest Temple in Ocarina of Time. This platform rotates when the player stands on it—unless a corresponding switch flag has been triggered. It initializes with collision data and is registered as a dynamic background actor that transforms around the Y-axis. In its Update function, the platform continuously rotates by 0x80 (about 1.4 degrees) per frame while the player is detected above it and the rotation switch is off, accompanied by a mechanical sound effect. The draw function renders the ring using a display list, ensuring it appears as a solid, animated structure in the game world.


Bg_Menkuri_Kaiten

ID: 0061
Object: 004D
Code Files: z_bg_menkuri_kaiten.c
Actor Variables
v &>> 0x3F = Switch Flag
Collectables Level Elements Puzzle

Rupee Patterns

The Obj_Mure3 actor is a background object responsible for spawning a "tower of rupees" — an arrangement of collectible rupees that appear in different patterns depending on its parameters. Upon initialization, the actor checks a specific switch flag to determine whether its rupees have already been collected. If the flag is set, it removes itself. Otherwise, it remains dormant until the player gets close enough. Once within range, the actor becomes active and spawns rupees in one of several formations: a vertical tower, a curved line, or a circular layout. Each rupee is tracked individually, and if collected or despawned, it’s flagged internally to prevent reappearance. When all rupees have been collected, the actor sets a switch flag to mark completion and returns to its dormant state until the player moves away, at which point it cleans up and resets for future encounters. This actor is used to reward players for exploration or puzzle-solving with a burst of colorful, satisfying loot.


Obj_Mure3

ID: 01AB
Object: 0001
Code Files: z_obj_mure3.c
Actor Variables
v &>> 0xE000 = Type
0 [0000] Five blue rupees stacked vertically
1 [2000] Five green rupees in a row
2 [4000] Six green rupees in a circle with a red rupee in the center
v &>> 0x003F = Switch Flag
Gate Level Elements

Sacred Forest Meadow Objects

The Bg_Spot05_Soko actor manages special movable or conditional geometry in the Sacred Forest Meadow, including stone blocks that are tied to specific story progression or puzzles. It exists in two variants depending on its parameters: one is present only when Link is a child and represents a static piece of collision, while the other responds to switch flags and represents a metal gate that sinks into the ground when triggered. This actor supports dynamic collision, plays a metal-closing sound effect when activated, and smoothly animates downward over time to simulate a mechanical door lowering. It's also capable of triggering a one-point cutscene to draw the player's attention during the action.


Bg_Spot05_Soko

ID: 018D
Object: 0161
Code Files: z_bg_spot05_soko.c
Actor Variables
v &>> 0x3F00 = Switch Flag
v &>> 0xFF = Type
00 [0000] Large flat square floor tile, makes water noises when walking on it
01 [0001] Large vertical gate
02 [0002]+ Invisible, glitched gate //can still attack or run into it
v &>> 0x3F00 = Switch Flag //Type 01 only
Level Elements Trap

Shadow Temple Traps

The Bg_Haka_Trap actor manages a wide variety of traps and mechanical hazards within the Shadow Temple and related areas. This highly modular actor supports multiple trap types, including the swinging guillotines, spiked walls, crushing boxes, and the large wind propeller. Each variant uses different models, collider setups, and behavior logic, but they all share the goal of creating environmental threats to challenge the player.

When initialized, the actor reads its type from its parameters and configures itself accordingly. For example, the guillotine traps use vertical motion and a timed loop to fall and rise, dealing damage to the player if they’re hit by the blade. These traps utilize a cylindrical collider that tracks the player’s position and moves to match it horizontally, ensuring that contact is accurately registered during their downward motion.

Spiked walls behave like moving barriers that advance towards the player. They’re equipped with both a cylinder and a triangle mesh collider to detect impact on different parts of the wall. When triggered, they create a crushing effect that can pin the player, complete with visual effects like debris bursts and sound cues for added drama. If both spiked walls close in at once, the game forcibly ends the player’s movement to simulate a trap sequence.

Spiked boxes act as crushing ceilings. They alternate between rising and slamming down, creating a timing-based hazard. The actor checks for floor collision to determine when it should stop descending and switch to rising again. If the player is beneath the box during a drop, they risk taking damage or being crushed.

The propeller trap spins in place, using its rotation to generate wind-like force that pushes the player backwards unless they wear Iron Boots. This mechanic adds a movement puzzle where the player must either time their progress or use specific equipment to move forward safely.

The Bg_Haka_Trap actor is a masterclass in reusing code logic for diverse mechanical behaviors. It leverages physics, timers, collision detection, sound, and particle systems to bring each trap to life, ensuring the Shadow Temple maintains its reputation for eerie, trap-filled challenges.


Bg_Haka_Trap

ID: 00BC
Object: 0069
Code Files: z_bg_haka_trap.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Guillotine Blade (Slow)
0001 [0001] Spiked Box on Chain
0002 [0002] Spiked Wooden Wall 1
0003 [0003] Spiked Wooden Wall 2
0004 [0004] Fan
0005 [0005] Guillotine Blade (Fast)
Level Elements NPC

Shop Shelves

The En_Tana actor represents the decorative shop shelves found in shop interiors throughout Ocarina of Time. While this actor has no interactivity or behavior logic, it serves an important visual role by displaying either wooden or stone shelves to match the shop’s aesthetic. The actor uses its params value to determine which type of shelf to render — wooden (type 0) or one of two stone variants (types 1 and 2). Each shelf type has its own display list and, in the case of the stone shelves, a specific texture is applied using the segment register. The actor’s Init function assigns the appropriate draw function based on the params, disables the attention flag, and sets the model scale to 1.0. Notably, there is a debug print for the shelf type name, though an array bounds bug exists if params is set to an invalid value. As a static prop, En_Tana is a clean and efficient implementation of a purely visual environment actor.


En_Tana

ID: 00C2
Object: 00B2
Code Files: z_en_tana.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Wooden (Default)
0001 [0001] Stone (Zora)
0002 [0002] Granite (Goron)
0003 [0003]+ Crashes
Entrance Level Elements

Shutter Door

The z_door_shutter.c actor controls various types of shutter-style doors, which are designed to block or unlock player progression based on in-game events or triggers. These include doors that close behind Link when entering a room, doors that require all enemies to be defeated before opening, or doors that unlock upon triggering a switch. The actor reads bitwise-encoded parameters to determine its behavior, such as whether it lifts, slides, or remains locked from one side. Some variations include Phantom Ganon bars, Boss doors, and puzzle doors linked to switch flags or room-clear conditions. Upon initialization, the actor checks the relevant scene and game flags to determine if it should appear, stay locked, or be removed. It also includes collision and animation handling for smooth door transitions and integrates sound effects for added feedback. Overall, Door_Shutter plays a key role in dungeon flow control and puzzle mechanics, often signaling challenge, progress, or reward.


Door_Shutter

ID: 002E
Object: 0001
Code Files: z_door_shutter.c
Actor Variables
//Design and object dependencies change depending on scene
v &>> 0xFC00 = Transition Actor List Identifier //Reserved for use by the game engine
v &>> 0x03C0 = Type
00 [0000] Lifting
01 [0040] Front side attached to Room Clear
02 [0080] Front side attached to Switch Flag
03 [00C0] Back side permanently locked
04 [0100] Phantom Ganon Bars //Needs object 0x0037
05 [0140] Boss Door
06 [0180] Falling Gohma Door //Needs object 0x001C
07 [01C0] Front attached to Switch Flag, Back to Room Clear
08 [0200] Lifting (Phantom Ganon Bars?) //Needs object 0x0037
09 [0240] Lifting
0A [0280] Lifting
0B [02C0] Small Key Locked //Visible on back side
v &>> 0x003F = Switch Flag
Level Elements Obstacle Push / Pull Puzzle

Silver Block (Child Era)

The Bg_Jya_Block actor represents the Silver Push Block found in the Spirit Temple, specifically designed for Child Link. This block is a part of the dungeon’s puzzle mechanics, requiring the player to push or pull it to progress or trigger certain switches. The actor only initializes and appears if the player is currently Child Link and a specific switch flag is set — otherwise, it immediately removes itself from the scene. The block includes a collision header, allowing it to interact with the game world and respond to player actions like movement or pressure plate triggers. Visually, it uses a silver-gray texture and custom display list, with subtle environment coloring for a distinct aesthetic. Though its update function is minimal, it still clears a specific player state flag each frame, likely related to pushing behavior. This actor is a classic example of dungeon interaction, providing environmental depth and requiring critical thinking and strength-based mechanics unique to Child Link’s dungeon experience.

 

 

 

 

 


Bg_Jya_Block

ID: 01D5
Object: 0003
Code Files: z_bg_jya_block.c
Actor Variables
//Only spawns when Child Link
v &>> 0x003F = Switch Flag to Spawn On
Collectables Level Elements Mini Game Puzzle Switch

Silver Rupee

The En_G_Switch actor (z_en_g_switch.c) handles a variety of collectible and interactive gameplay elements, including Silver Rupees, moving or stationary rupee targets for shooting galleries, and destructible pots used in horseback archery minigames. Each variant of the actor responds to different types of interactions: Silver Rupees contribute to puzzle completion by tracking the number collected, gallery rupees move or respond to hits during timed shooting events, and archery pots break with satisfying effects when struck by arrows. The actor uses multiple states and subfunctions to manage its behaviors, including collision detection, custom effects on collection or destruction, and conditional spawning based on game progress. It also integrates custom audio cues and dynamic visual feedback like particle effects, broken pot fragments, and animated rupee textures. With modular draw functions and structured initialization based on parameter types, this actor is a multifunctional system that enhances collectible, skill-based, and visual gameplay throughout various mini-challenges and rooms in the game.


En_G_Switch

ID: 0117
Object: 0001
Code Files: z_en_g_switch.c
Actor Variables
v &>> 0xF000 = Type //FIXME
Shooting Gallery
0 [0000] Rupee Chain
1 [1000] Silver Rupee
2 [2000] Horseback Archery Pot
v &>> 0x0FC0 = Count
v &>> 0x003F = Switch Flag
Level Elements Obstacle Trap

Sinking Lava Platform (Ganon’s Castle)

The Bg_Gnd_Firemeiro actor is a dynamic sinking platform used during the Fire Trial in Ganon’s Castle. When Link steps on it, the platform begins to shake violently, simulating instability with randomized movement, sound effects, and a brief delay. After shaking for a short period, the platform slowly sinks into the lava, forcing the player to move quickly or risk falling. Once Link jumps off or the timer expires, the platform begins to rise back to its original height, resetting the cycle. This actor creates a tense environmental hazard, adding urgency and danger to the trial through interactive motion and timed response.


Bg_Gnd_Firemeiro

ID: 01B3
Object: 0179
Code Files: z_bg_gnd_firemeiro.c
Actor Variables
//Narrow, maze-like platform (sinks)
v &>> 0xFFFF = Default
0000 [0000] Default
0001 [0001]+ Crashes
Collectables Enemy Level Elements

Skulltula Sprouting from Bean Spot

The Obj_Makekinsuta actor is responsible for spawning a Gold Skulltula from a bean patch after it has fully grown. This actor monitors the environment and waits for the right conditions to trigger the appearance of the Skulltula enemy. Specifically, it checks a hidden flag (unk_152) to determine if the bean plant has been interacted with, and then starts a countdown timer. If at least 60 frames pass and the player is not currently interacting with anything (func_8002DEEC), the actor spawns a Gold Skulltula (ACTOR_EN_SW) at its location. After spawning the enemy, it switches to a no-op function to prevent repeated activations. This actor has no visual model or collision and simply serves as a logic controller to time and conditionally trigger enemy appearances, adding surprise and reward elements to exploration and gardening mechanics.


Obj_Makekinsuta

ID: 01CF
Object: 0001
Actor Variables
//See Actor 0095 for variable
Level Elements Obstacle

Sliding / Sinking Stone Platform (Fire Temple)

The Bg_Hidan_Sima actor is a stone platform used in the Fire Temple, with two variations depending on its params value. When params is 0, it acts as a reactive platform that shakes and drops slightly when the player steps on it. The platform briefly wobbles from side to side, accompanied by sound and rumble effects, before lowering a short distance. Once the player steps off, it resets to its original height and awaits another interaction. When params is 1, the platform serves as a rotating fire trap. It periodically turns 180 degrees and emits a stream of animated fireballs along its path, dealing damage to anything in their way. The fireballs are rendered using scaling animated textures and follow the platform’s rotation using trigonometric calculations. Collision spheres are updated in real-time to match the movement of the flames, allowing the platform to damage the player during its active phase. This variation emphasizes timing and hazard avoidance, adding a layer of difficulty and visual flair to the Fire Temple's environment.


Bg_Hidan_Sima

ID: 0046
Object: 002C
Code Files: z_bg_hidan_sima.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Sinking
0001 [0001]+ Sliding
Gate Hookshotable Level Elements

Sliding Circular Metal Grate (Spirit Temple)

The Bg_Jya_Amishutter actor represents a circular metal grate in the Spirit Temple. When the player approaches within a short distance, the grate lifts vertically to allow passage. After the player moves far enough away, the grate automatically lowers back into its original position. The movement is accompanied by metallic sliding sound effects for added realism. The actor is implemented as a dynamic polygon object that interacts with the player and the collision system.


Bg_Jya_Amishutter

ID: 015A
Object: 00F1
Code Files: z_bg_jya_amishutter.c
Entrance Level Elements Obstacle

Sliding Doors (Goron City)

The Bg_Spot18_Shutter actor controls the stone doors and shutters in Goron City. These heavy doors block access to key areas like Darunia’s room or the back of the city and are controlled by in-game events such as switches or story progression flags. The actor can be one of two types: a vertically moving shutter (param 0) or a sliding stone door (param 1), with behavior differing for child and adult Link.

On initialization, the actor checks the player's age and relevant game flags (INFTABLE_109 or switch flags) to determine if the door should already be open. If not, it waits for a trigger. When triggered, it plays a cutscene (or sets camera focus), then begins its smooth motion: vertical shutters rise by 180 units, while sliding doors shift 125 units along their facing direction. Motion is interpolated using Math_StepToF() to create a gradual, smooth animation. Sound effects for stone grinding and stopping enhance the realism of the movement. Once the movement completes, the door becomes static again.

Collision is managed via DynaPoly, allowing the door to physically block the player and be dynamically disabled when the door moves. Visually, the actor draws the gGoronCityDoorDL model. Overall, this actor creates a dynamic and context-sensitive gating mechanic, contributing to the layered puzzles and age-dependent progression within Goron City.


Bg_Spot18_Shutter

ID: 01C4
Object: 00AF
Code Files: z_bg_spot18_shutter.c
Gate Level Elements

Sliding Metal Gate

The Bg_Hidan_Kousi actor represents the heavy metal grates found in the Fire Temple, which slide open when triggered by switches. It supports three distinct models—standard, reinforced, and slanted—based on the actor's parameters. On initialization, it sets its rotation and collision based on configuration and checks for a switch flag that may cause it to spawn in an already-open state. When the linked switch is activated, the grate enters a multi-phase animation: it triggers a cutscene attention focus, begins to slide, and stops when reaching a predefined distance. The movement is directional, calculated using trigonometric functions based on the actor's rotation. Sound effects for sliding and halting metal reinforce the animation, creating an atmospheric dungeon element that reacts dynamically to player progression.


Bg_Hidan_Kousi

ID: 006F
Object: 002C
Code Files: z_bg_hidan_kousi.c
Actor Variables
v &>> 0x3F00 = Switch Flag
v &>> 0xFF = Type
00 [0000] Yellow with corner removed
01 [0001] Green and rectangular
02 [0002] Yellow/green and rectangular, looks rusty
03 [0003] Crashes, but not without drawing a huge black thing that I can only assume is a gate...
04 [0004] Crashes before it can even light the area...
05 [0005]+ Crashes, no sign of a gate
Climbable Level Elements Trap

Sliding, Climbable Brick Wall (Spirit Temple)

The Bg_Jya_Zurerukabe actor represents a sliding, climbable brick wall that moves back and forth in a fixed pattern, commonly seen in dungeon puzzles. Upon initialization, it determines which of the four preset movement tracks it belongs to by comparing its Y position to predefined values. Once matched, it sets up a direction and range for horizontal sliding motion. Its movement alternates between waiting and sliding phases, stepping through a sequence of positions based on its current index and movement direction. The actor also contains logic to knock the player off if they are climbing the wall and the wall shifts significantly while they are attached. The knockback behavior only applies to certain vertical zones on the wall and only if movement between adjacent sections is fast enough. A dynamic collider is used so the player can climb and interact with it physically as it moves, and the wall makes an elevator-like sound as it slides.


Bg_Jya_Zurerukabe

ID: 00FA
Object: 00F1
Known Default Requirements:
object_jya_obj
Collectables Destructible Level Elements

Small Liftable Crate

The Obj_Kibako actor represents a small wooden box, which players can pick up, throw, or break to reveal hidden items. When initialized, it sets up a cylindrical collider for interaction and applies gravity so it can fall naturally in the game world. The box can enter different states: idle on the ground, being carried, or flying through the air after being thrown. If the player attacks the box, throws it against a wall, or drops it in deep enough water, the box breaks into fragments using the EffectSsKakera system. Upon breaking, it may spawn a collectible item (like rupees or hearts), determined by parameters encoded in the actor's params. The actor includes logic to prevent interactions until the player is close enough, and it can only be picked up when within a short distance. Special care is taken to trigger different breaking effects based on whether the box is destroyed in air or underwater. This actor showcases a modular and responsive design for destructible environment objects in Zelda 64.


Obj_Kibako

ID: 0110
Object: 0003
Code Files: z_obj_kibako.c
Actor Variables
//Can also appear as a giant, liftable fish
v &>> 0xFFFF = Item Spawn Parameters //Spawns instance of Actor 0015 with identical parameters //FIXME
Spawner
FFFF [FFFF] No Item Spawn
Effects Level Elements

Smoke Cone (Death Mountain Crater)

The Bg_Spot17_Funen actor represents the cone-shaped volcanic smoke plume that continuously rises from the crater of Death Mountain. It’s a purely visual environmental effect with no physical interaction or gameplay functionality but plays a crucial role in enhancing the atmosphere of the area by simulating volcanic activity.

Upon initialization, the actor sets its scale using a predefined chain and logs its creation with a debug message identifying it as “噴煙” (volcanic smoke). The actor's update function sets its custom draw and update routines (func_808B7478 and func_808B746C, respectively). Interestingly, func_808B746C does nothing — this indicates the actor doesn’t have dynamic logic beyond being drawn each frame.

The draw function, func_808B7478, sets up translucent rendering with a dual texture scroll effect to simulate moving smoke. It rotates the smoke cone to always face the camera (a billboard effect), making the illusion more convincing from any angle. The cone itself is rendered using the gCraterSmokeConeDL display list from the object_spot17_obj asset file.


Bg_Spot17_Funen

ID: 00BF
Object: 00B1
Code Files: z_bg_spot17_funen.c
Level Elements Obstacle Puzzle Song Actor

Song Of Time Block

The Obj_Timeblock actor controls the Song of Time blocks in The Legend of Zelda: Ocarina of Time, which appear or disappear when Link plays the Song of Time. These magical blocks serve as dynamic platforms or barriers and are often used in puzzles and navigation challenges. The actor initializes with collision detection and appearance parameters based on its size and specific flags stored in its params field. It constantly checks if the player is in range and prompts for ocarina interaction. When the correct song is played, it toggles visibility and collision based on internal logic and the current game state, sometimes tied to switch flags or Link’s age (child or adult). The block can behave in two major modes: normal (basic toggle) and alternate (with visibility tied to switches). When changing states, the block triggers sound effects and visual demo effects to signify its magical transformation. This actor ensures the Song of Time mechanic is integrated seamlessly into gameplay with flexible configurations for different dungeons and challenges.


Obj_Timeblock

ID: 01D1
Object: 0190, 00A8
Code Files: z_obj_timeblock.c
Actor Variables
v &>> 0x8000 = Default Visibility (Age Inverted)
00 [0000] Child Visible
01 [8000] Adult Visible
v &>> 0x8000 = Default Visibility (Normal)
00 [0000] Invisible
01 [8000] Visible
v &>> 0x3800 = Song of Time Distance
00 [0000] 60
01 [0800] 100
02 [1000] 140
03 [1800] 180
04 [2000] 220
05 [2800] 260
06 [3000] 300
07 [3800] 300
v &>> 0x0400 = Unknown //FIXME
Never used, unusual behavior when set
v &>> 0x0100 = Size
00 [0000] Large
01 [0100] Small
v &>> 0x0040 = Default Visibility Behavior //If set, ignore switch flag
00 [0000] Age Inverted
01 [0040] Normal
v &>> 0x003F = Switch Flag
rz &>> 0x0007 = Color
00 [0000] #6496C8 //Default
01 [0001] #508CC8 //Water Temple
02 [0002] #6496C8 //Shadow Temple
03 [0003] #64C8F0 //Spirit Temple
04 [0004] #506E8C //Forest Temple
05 [0005] #46A0E1 //Dampe's Grave
06 [0006] #506482 //Gerudo Training Ground
07 [0007] #646EBE //Ganon's Castle
Level Elements Trap

Spinning Scythe Trap

The Spinning Scythe Trap is a rotating hazard found in areas like the Shadow Temple and Ice Cavern. Upon initialization, the actor sets up collision detection using a cylindrical collider at its center and two triangle-based colliders to represent the blades. It also initializes two blur trail effects, one for each spinning scythe blade, using color parameters that give a ghostly white-to-gray fade.

There are three visual variants based on the scene: a visible version for the Shadow Temple, an invisible version revealed only by the Lens of Truth, and a smaller variant used in the Ice Cavern. Depending on its variant, the actor loads the corresponding object (either object_haka_objects or object_ice_objects) and uses different display lists for drawing.

Once initialized, the trap enters its spinning behavior. The scythe rotates in place, modulating its speed slightly with a sine wave function for a more natural acceleration-deceleration pattern. During each frame, the positions of the rotating scythe’s blade tips are recalculated and used both for collision detection and for generating a visual blur effect using the preconfigured blur trails. If Link comes into contact with the triangle colliders representing the blades, it triggers damage as expected. Meanwhile, the center cylinder collider allows the player to bump into the trap’s body.

The actor uses different logic depending on whether it’s visible or invisible, and only draws the blur and geometry if it is either inherently visible or revealed via the Lens of Truth. It emits a mechanical spinning sound effect (NA_SE_EV_ROLLCUTTER_MOTOR) as it rotates, contributing to the eerie atmosphere of the dungeons where it's placed.


Bg_Haka_Sgami

ID: 00B1
Object: 0001
Known Default Requirements:
Shadow Temple Objects - HAKA_OBJECTS
Code Files: z_bg_haka_sgami.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] (0069) Shadow Temple Scythes (Visible)
0001 [0001] (0069) Shadow Temple Scythes (Invisible)
0100 [0100] (006B) Ice Cavern Spinning Blade
Level Elements Obstacle

Spinning Stone Flamethrower (Fire Temple)

The `Bg_Hidan_Rsekizou` actor defines the spinning stone flamethrower found in the Fire Temple. This rotating hazard continuously emits fireballs in a radial pattern, dealing damage through a ring of six collider spheres that are positioned dynamically each frame based on rotation. The actor animates fireball textures from a sequence and emits alternating streams of translucent fire effects using matrix transformations for realistic movement. In addition to visual and collision updates, it emits a looping flame sound. With precise timing and damage zones, it challenges the player to navigate moving platforms or puzzles while avoiding continuous fire arcs.


Bg_Hidan_Rsekizou

ID: 0044
Object: 002C
Code Files: z_bg_hidan_rsekizou.c
Level Elements

Square Collapsing Platform

The Obj_Lift actor is a square, collapsible platform found in dungeons. When Link steps on it, the platform waits for a short countdown based on its parameters. If Link remains on the platform, it begins shaking violently to signal impending collapse. After the shaking sequence, the platform detaches and falls down using gravity simulation. Upon hitting the ground or reaching its maximum fall distance, the platform shatters into fragments and plays a crumbling sound. The actor then sets a switch flag to mark its destruction and deletes itself from the game world. This interactive destruction effect is enhanced by screen quake, dynamic rotation, and randomized fragment debris.


Obj_Lift

ID: 012C
Object: 011D
Code Files: z_obj_lift.c
Actor Variables
//FIXME: new notation
//xxyy - xx controls delay, yy controls size
//xx:
//- x# = larger # is, the longer it takes before platform reacts to Link (x is ignored)
//- xF = Doesn’t shake, falls immediately (x is ignored)
//yy:
//- 00+ = Large
//- EA+ = Small
v &>> 0x007C = Switch Flag
Level Elements Sign

Square Signpost

The En_Kanban actor represents the wooden signposts scattered across Hyrule that players can read and break. When approached, the sign displays a message box with text depending on its params index. If struck by a sword or similar attack, the sign breaks into falling wooden fragments using a cut system that divides the sign into parts. The actor tracks interactions with the player for displaying messages and ensures it can only be cut once. After being cut, the broken pieces fall realistically and eventually despawn.


En_Kanban

ID: 0141
Object: 012F
Code Files: z_en_kanban.c
Actor Variables
v &>> 0x00FF = Message ID //Value + 0x0300
00 [0000] X
01 [0001] Hyrule Field
02 [0002] Hyrule Castle Town
03 [0003] The Temple of Time
04 [0004] Dead End
05 [0005] Kakariko Village / Death Mountain Trail / Starting Point
06 [0006] Kakariko Village Graveyard
07 [0007] Dark! Narrow! Scary! / Well of Three Features
08 [0008] Death Mountain / No passage without a / Royal Decree!
09 [0009] Death Mountain Trail
0A [000A] Dodongo’s Cavern / Don’t enter without permission!
0B [000B] Land of the Gorons / Goron City
0C [000C] Zora’s River / Watch out for swift current / and strong undertow.
0D [000D] The Shadow will yield only to one / with the eye of truth, handed / down in Kakariko Village.
0E [000E] Zora’s Domain
0F [000F] Zora’s Fountain / Don’t disturb Lord Jabu-Jabu! / –King Zora XVI
10 [0010] Forest Training Center / Don’t recklessly cut signs– / read them carefully!
11 [0011] All those reckless enough to / venture into the desert–please drop by our shop. / Carpet Merchant
12 [0012] Just ahead: / Great Deku Tree’s Meadow
13 [0013] Forest Temple
14 [0014] The Lost Woods
15 [0015] Talon and Malon’s / Lon Lon Ranch
16 [0016] The Great Ingo’s / Ingo Ranch
17 [0017] Lake Hylia
18 [0018] Lakeside Laboratory / Daily trying to get to the bottom / of the mysteries of Lake Hylia! / –Lake Scientist
19 [0019] Gerudo Valley
1A [001A] Horseback Archery Range / Skilled players are welcome! / Current record: # Points
1B [001B] Gerudo Training Ground / Only registered members are / allowed!
1C [001C] Haunted Wasteland / If you chase a mirage, the / desert will swallow you. / Only one path is true!
1D [001D] Spirit Temple
1E [001E] Kokiri Shop / We have original forest goods!
1F [001F] LINK’s House
20 [0020] Forest folk shall not leave these woods.
21 [0021] Follow the trail along the edge of / the cliff and you will reach / Goron City, home of the Gorons.
22 [0022] Natural Wonder / Bomb Flower / Danger! Do not uproot!
23 [0023] Death Mountain Summit / Entrance to the crater ahead / Beware of intense heat!
24 [0024] King Zora’s Throne Room / To hear the King’s royal / proclamations, stand on the / platform and speak to him.
25 [0025] If you can stop my wild rolling, you might get something great. / –Hot Rodder Goron
26 [0026] Only one with the eye of truth / will find the stone umbrella / that protects against the / rain of blades.
27 [0027] Only one who has sacred feet / can cross the valley of the dead.
28 [0028] The record time of those / who raced against me was: / ##"##" / –Dampé the Gravekeeper
29 [0029] Shooting Gallery / etc.
2A [002A] Treasure Chest Shop / We don’t necessarily sell them...
2B [002B] High Dive Practice Spot / Are you confident / in your diving skill?
2C [002C] 032c
2D [002D] Mountain Summit / Danger Ahead - Keep Out
2E [002E] Happy Mask Shop! / Now hiring happiness / delivery men!
2F [002F] Bombchu Bowling Alley / You can experience the / latest in Bomb technology!
30 [0030] Bazaar / We have a little bit of everything!
31 [0031] Potion Shop / We have the best quality / potions!
32 [0032] Goron Shop / Mountaineering supplies!
33 [0033] Zora Shop / We have fresh fish!
34 [0034] Heart-Pounding Gravedigging Tour! / From 18:00 to 21:00 Hyrule Time / –Dampé the Gravekeeper
35 [0035] Heart-Pounding Gravedigging Tour! / Tours are cancelled until a new / gravekeeper is found. We / apologize for any inconvenience.
36 [0036] Thrust Attack Signs! / To thrust with your sword, press / [CS] toward your target while / Z Targeting, then press B.
37 [0037] Hole of “Z” / Let’s go through this small / hole! / Stand in front of the hole and / push [CS] towards it. When the / Action Icon shows “Enter,” press / A to crawl into the hole. / Pay attention to what the Action / Icon says!
38 [0038] Cut Grass With Your Sword / If you just swing with B, you’ll / cut horizontally. If you hold Z as / you swing, you’ll cut vertically.
39 [0039] Hyrule Castle / Lon Lon Ranch
3A [003A] You are here: Hyrule Castle / This way to Lon Lon Ranch
3B [003B] Just Ahead / King Zora’s Chamber / Show the proper respect!
3C [003C] House of the Great Mido / Boss of the Kokiri
3D [003D] House of the Know-It-All Brothers
3E [003E] House of Twins
3F [003F] Saria’s House
40 [0040] View Point with Z Targeting / When you have no object to look / at, you can just look forward / with Z. / Stop moving and then change the / direction you are facing, or hold / down Z for a little while. / This can help you get oriented in / the direction you want to face. / It’s quite convenient! / If you hold down Z, you can / walk sideways while facing / straight ahead. / Walking sideways can be a very / important technique in dungeon / corridors. Turn around and try doing this right now.
41 [0041] Stepping Stones in the Pond / If you boldly go in the direction / you want to jump, you will leap / automatically. / If you hop around on the stones, / you’ll become happier!
42 [0042] No Diving Allowed / –It won’t do you any good!
43 [0043] Switch Targeting / If you see a \/ icon above an / object, you can target it with Z. / ... / You can target the stones next to this sign for practice!
44 [0044] Forest Stage / We are waiting to see your / beautiful face! / Win fabulous prizes!
45 [0045] Visit the / House of the Know-It-All Brothers / to get answers to all your / item-related questions!
46 [0046]+ Pocket Egg
Level Elements Obstacle

Stationary Flamethrower Statue (Fire Temple)

The Bg_Hidan_Sekizou actor represents a stationary flamethrower statue found in the Fire Temple. It comes in two forms: a short version that constantly shoots twin flames to the sides and a tall version that detects the player's alignment and blasts fire directly in their direction. The actor utilizes six joint-sphere colliders to simulate the flame's damaging hitboxes and periodically updates their world positions for accuracy. The flame visuals animate dynamically with layered textures, and the direction of the flame adapts based on player proximity and facing angle. Sound effects and camera feedback reinforce the hazard’s presence, making it a classic environmental trap.


Bg_Hidan_Sekizou

ID: 0045
Object: 002C
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] 2-way diagonal
0001 [0001]+ 4-way plus
Destructible Level Elements Puzzle

Statue Face (Spirit Temple)

Bg_Jya_Megami represents the stone face of the Goddess Statue in the Spirit Temple, featured prominently in the mirrored room puzzle. Initially, the statue’s face is intact and reacts to sustained light from the Mirror Shield. As light hits the statue, it begins to crack and crumble over time, displaying visual degradation. After enough exposure, a dramatic explosion sequence is triggered: the statue's face breaks into multiple pieces with sound effects and particle effects to enhance the destruction. This action also triggers a switch flag and causes the actor to despawn after the sequence completes. The breaking sequence is animated with rotating debris and physical motion for each piece, all driven by pre-defined vectors and velocities.


Bg_Jya_Megami

ID: 0156
Object: 00F1
Code Files: z_bg_jya_megami.c
Level Elements Obstacle

Stone Blocking Entrance to Bottom of the Well

The Bg_Spot01_Idosoko actor represents the large stone that blocks the entrance to the Bottom of the Well in Kakariko Village. This is a static background object that uses a collision mesh and draw function to appear as a solid rock slab. It is part of the world geometry and doesn't have interactive behavior beyond its presence. Its primary role is to visually and physically block access to the dungeon. The actor initializes and loads its collision model, but self-deletes if the player is a child, ensuring it's only present during the adult portion of the game.


Bg_Spot01_Idosoko

ID: 0145
Object: 0180
Known Default Requirements:
Adult Only
Code Files: z_bg_spot01_idosoko.c
Actor Variables
v &>> 0xFFFF = Default
Level Elements

Stone Blocks (Fire Temple)

The Bg_Hidan_Rock actor controls the large stone blocks found in the Fire Temple, which serve as both moving platforms and environmental hazards. There are two block types: one that slides along the floor when pushed, eventually locking into place and activating a switch (type == 0), and another that reacts to player interaction by vibrating and rising temporarily before dropping. The actor uses a variety of functions to handle player-induced motion, timed platform behavior, sound effects (like rumbling and impact), and dynamic camera transitions. It also draws animated vertical flames using translucent display lists when the block is active. With logic for physics updates, collision checking, and interactive behavior, Bg_Hidan_Rock is essential to Fire Temple puzzles requiring spatial reasoning and timed movement.


Bg_Hidan_Rock

ID: 0043
Object: 002C
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Large Face Cube //Pushable
0001 [0001]+ Squat Cube //Shakes and flies into the air when you land on it
Level Elements Puzzle

Stone cube

En_Pu_Box is an unused actor representing a movable stone block that behaves like a physics-enabled cube. Although not placed in the final game, it was likely intended for use as a pushable or gravity-affected object, similar to other stone blocks found in dungeons. It supports variable sizes through its parameters, applies gravity, and responds to sliding motion with appropriate sound effects. The cube is collision-enabled via DynaPoly, and its position and rotation are updated using standard physics movement functions. Its presence in the game code hints at either cut dungeon mechanics or general-purpose block puzzles that were later discarded or replaced.

 


En_Pu_box

ID: 007D
Object: 0082
Code Files: z_en_pu_box.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Stone cube, side struck with sword flashes blue
0001 [0001]+ Slightly larger
Elevator Level Elements

Stone Elevator (Flare Dancer Rooms Fire Temple)

The Bg_Hidan_Syoku actor is the stone elevator platform located in the Fire Temple, notably used during the Flare Dancer mini-boss encounter. It starts raised and lowers once the room is cleared and the player steps onto it. The elevator smoothly animates up and down using a cosine function over 140 frames and includes sound effects during movement (NA_SE_EV_ELEVATOR_MOVE3) and at rest (NA_SE_EV_BLOCK_BOUND). Between cycles, it pauses for 60 frames before reversing direction. Additionally, the camera dynamically switches to an elevator view (CAM_SET_ELEVATOR_PLATFORM) while the player is on the platform.


Bg_Hidan_Syoku

ID: 0047
Object: 002C
Code Files: z_bg_hidan_syoku.c
Elevator Level Elements

Stone Elevator (Spirit Temple)

The Bg_Jya_1flift actor controls the shortcut elevator located in the Spirit Temple. This dynamic platform begins in one of two fixed vertical positions and moves up or down when a specific switch is activated. It smoothly accelerates and decelerates between levels, pausing briefly before reversing direction. The actor uses collision detection to register if the player is standing on it and will temporarily change the camera setting to better follow the elevator’s movement. It only exists in the first and sixth rooms of the temple to ensure it's only active when needed.


Bg_Jya_1flift

ID: 018E
Object: 00F1
Actor Variables
//Sets switch flag and activates when stood on
v &>> 0x3F = Switch Flag
Effects Level Elements Trap

Stone Eye (Fire Trap) and Flame

The En_Honotrap actor (z_en_honotrap.c) in Ocarina of Time is a trap system used to create two deceptive or dangerous environmental elements: fake eye switches and ghostly flame projectiles like those seen in Dampe’s grave. The fake eye switches lure players into shooting them, only to retaliate by launching a tracking fireball. These switches animate through a sequence of eye states (closed, opening, attacking, shutting) and spawn a moving flame actor when the player gets close. The flame actors can behave in several ways: dropping straight down, homing toward Link, bouncing off shields, or vanishing on collision. The actor uses different collider setups—triangular for the fake eye switch and cylindrical for flames—and employs complex logic for movement, targeting, collision response, and rendering effects like texture scrolling and environmental color modulation. Through a combination of visual deception and dynamic threat, En_Honotrap enhances dungeon and graveyard encounters with traps that require awareness, timing, and spatial reasoning to overcome.


En_Honotrap

ID: 011C
Object: 0003
Code Files: z_en_honotrap.c
Actor Variables
//Dampe's Fire Attack


v &>> 0xFFFF = Type
0000 [0000] Stone Eye
0001 [0001] Heat-Seeking flame
0002 [0002] Immobile flame, dies
0003 [0003]+ Flame sound effect
Hookshotable Level Elements Obstacle

Stone Hookshot Target

The Obj_Hsblock actor is a stone platform designed to serve as a Hookshot target in dungeons and other areas. Depending on its type, it can either remain static or dynamically rise into place when a switch is activated. It uses different models and collision data to represent hookshot posts or targets. Upon initialization, the actor checks its parameters to determine its visual model and interaction type. If set to rise, the block starts hidden below the floor and waits for its associated switch flag to be triggered. When activated, it ascends smoothly to its designated position and locks in place. It can optionally spawn an ice overlay effect when configured to do so.


Obj_Hsblock

ID: 012D
Object: 011C
Code Files: z_obj_hsblock.c
Actor Variables
v &>> 0xFFFF = #N/A
0000 [0000] Square hookshot target tower
0001 [0001] Same, underground
0002 [0002] Square hookshot stone
0003 [0003] Corrupted graphics, cannot see (no mesh seems to be present)
FFC2 [FFC2] ?? (Dodongo's Cavern) //Repeats.
Level Elements Obstacle Puzzle

Stone Stairs (Dodongo’s Cavern)

The Bg_Ddan_Kd actor represents the falling staircase mechanism in Dodongo’s Cavern. This environmental object responds to bomb explosions by checking for explosive collisions using a cylindrical collider. When a valid explosive is detected and confirmed to be different from the previous one, the actor triggers a one-point cutscene and begins to lower the staircase using smooth vertical motion and incremental speed. The descent includes synchronized effects like rumble feedback, camera quakes, dust generation, and falling debris to simulate the heavy stone impact. Once the stairs reach their final position, a switch flag is set to indicate the puzzle is solved. On subsequent visits, if the switch flag is active, the stairs are already lowered and the actor enters an idle state. This setup prevents the sequence from repeating and ensures consistent dungeon state tracking.


Bg_Ddan_Kd

ID: 005C
Object: 002B
Code Files: z_bg_ddan_kd.c
Actor Variables
v &>> 0x3F = Switch Flag
Level Elements Obstacle

Stone Steps and Platforms (Fire Temple)

The Bg_Hidan_Hamstep actor handles the dynamic stone platforms that rise in sequence when hit with the Megaton Hammer. These actors represent both the initial hammer switch and the subsequent stepping stones that rise progressively higher when triggered. When the player strikes the initial stone platform, a chain reaction begins: camera cutscenes, rumble feedback, and quake effects simulate the platforms forcefully rising from lava. Each step responds with a bounce animation before locking into place. The actor includes collision management, impact response, particle effect spawning, and parent-child coordination between each platform to ensure they animate in proper order and maintain consistent vertical spacing. This dramatic sequence is crucial for traversing a lava pit, symbolizing player progress and strength in the Fire Temple.


Bg_Hidan_Hamstep

ID: 0071
Object: 002C
Actor Variables
v &>> 0x3F00 = Switch Flag
v &>> 0xFF = Type
00 [0000] Hammer-triggered Stone Steps
01 [0001]+ Platform, one sided
Level Elements Puzzle Switch

Sun Emblem Switch (Spirit Temple)

The Obj_Lightswitch actor is a dynamic switch used primarily in the Spirit Temple that responds to light-based interactions. It features a rotating flame ring and expressive face textures that visually change as the switch activates. When triggered, it can play sound effects, change appearance, activate a switch flag, and in some cases, self-destruct. The switch supports multiple behavior types, including permanent activation, toggling, holding state while targeted, or disappearing once activated. One variant also spawns on top of a push/pull block and tracks its position. These features make it suitable for puzzles requiring timed or light-based solutions.


Obj_Lightswitch

ID: 0150
Object: 012A
Code Files: z_obj_lightswitch.c
Actor Variables
v &>> 0x1 = Type
00 [0000] Sun Emblem
01 [0001] Block with Sun Emblem
v &>> 0x0030 = Effect
0 [0000] Stay On
1 [0010] Chest
2 [0020] Need Constant Light
3 [0030] Burn
v &>> 0x3F00 = Switch Flag
Level Elements Puzzle Switch

Switches

The Obj_Switch actor is a versatile trigger object used throughout the game to control puzzles, doors, and timed events. This actor comes in multiple types, including floor switches, eye switches, crystal switches, and rusted switches, with behavior determined by the lower bits of the params field. Each type responds to specific actions: floor switches are activated by standing or placing weight on them, eye switches by arrows or hookshots, crystal switches by sword strikes or explosions, and rusted switches by the Megaton Hammer. Once activated, the switch can toggle a switch flag on or off, remain pressed, or return to its original state after a delay. Some switches can be stepped on repeatedly, while others require being struck from a distance.

Visually, the actor uses animated materials and effects to show its activation state, including glowing textures, pulsing overlays, or changing shapes. Sound effects accompany both activation and deactivation. In the case of floor or rusted switches, the actor uses collision detection to sense the player, objects, or enemies applying pressure. Eye and crystal switches, on the other hand, rely on hit detection against damage types. Some switches can be configured to play a success chime or activate cutscenes when triggered. Switch state can persist across reloads if tied to a permanent switch flag.


Obj_Switch

ID: 012A
Object: 0003
Known Default Requirements:
Scene: Dungeon
Code Files: z_obj_switch.c
Actor Variables
//Plays puzzle solved sound when hit/pressed
v &>> 0xF = Type
00 [0000] Floor
01 [0001] Rusted Floor
02 [0002] Yellow Eye
03 [0003] Crystal
04 [0004] Targetable Crystal
05 [0005]+ Crashes
v &>> 0x0010 = Can Toggle
v &>> 0x0020 = Reset when not pressed //Floor/Rusted switches. Zeroes switch flag
v &>> 0x0040 = Triggers all switches with same switch flag //crystal switches only?
v &>> 0x80 = Frozen in Ice
v &>> 0x3F00 = Switch Flag
Level Elements Switch

Switches (Inside Lord Jabu-Jabu)

The Bg_Bdan_Switch actor controls the organic-looking switches found inside Lord Jabu-Jabu in Ocarina of Time. These switches come in different types—blue, yellow, heavy yellow, and tall yellow—and each has unique behavior depending on player interaction. Blue and yellow switches respond to pressure: some toggle on and off when stepped on, while others require objects like boxes or Ruto to activate. Tall switches can also be triggered by projectiles or physical hits. The actor manages collision, animation, switch flags, and visual scaling for the pulsating organic design. It also handles SFX cues and camera cutscenes when activated, enhancing the dungeon’s interactive and biological theme.


Bg_Bdan_Switch

ID: 00E6
Object: 0096
Code Files: z_bg_bdan_switch.c
Actor Variables
v &>> 0xFF = Type
00 [0000] Blue Switch //Resets if not held down, makes discovery sound
01 [0001] Yellow Switch (Heavy Weight) //FIXME: What counts as extra weight other than Ruto?
02 [0002] Yellow Switch (Standard) //makes puzzle solved sound
03 [0003] Tall Yellow Button //can’t press it, shoot to make puzzle solved sound
04 [0004] Tall Yellow Button //Only pressed when hit with slingshot or explosives
0005 [0005]+ Nothing
v &>> 0x3F00 = Switch Flag
Effects Level Elements Puzzle

Torch

The Obj_Syokudai actor in Ocarina of Time represents torches that can be lit or extinguished depending on in-game events and interactions. There are three types—permanent, timed, and puzzle-related—determined by parameters that control behavior like whether the flame stays lit indefinitely or needs to be relit under a time limit. The actor uses two colliders: one for the torch stand and another for detecting flame-based interactions (e.g., contact with a lit Deku Stick or a Fire Arrow). Lighting a torch can trigger switches or progress puzzle sequences, with multi-torch setups tracking the total number of lit torches. The actor handles dynamic lighting, environmental effects, and visual flame rendering using a textured animated flame and dynamic light nodes. It also plays appropriate sound effects and adjusts light intensity based on the flame's state. This makes Obj_Syokudai a key environmental and puzzle element that enhances both gameplay mechanics and atmospheric immersion.


Obj_Syokudai

ID: 005E
Object: 00A4
Code Files: z_obj_syokudai.c
Actor Variables
v &>> 0xF000 = Type
00 [0000] Golden Torch
01 [1000] Timed Torch
02 [2000] Wooden Torch
v &>> 0x0400 = Is Lit
v &>> 0x03C0 = Torches to light to solve puzzle (Timed Torch)
v &>> 0x3F = Switch Flag
Collectables Level Elements

Treasure Chest

The z_en_box.c file defines the En_Box actor, which handles treasure chests in The Legend of Zelda: Ocarina of Time. This versatile actor supports a wide range of chest behaviors, from always-visible small chests to large, dramatic ones that fall from the ceiling or appear after puzzle completion. The chest’s behavior is controlled primarily through actor parameters, allowing map designers to control when and how a chest appears, opens, and what it contains.

Type: Defines how and when the chest appears or behaves.

Switch Flag: Determines the chest’s interaction with in-game switches. For “appear on switch” or “fall on switch” types, this value tells the chest which switch ID it listens to before becoming active.

Chest Flag: Links the chest to a flag in save data. Once the chest is opened, this flag is set so it doesn’t respawn the next time the player enters the room. It's also used to decide whether to auto-open the chest on scene load.

Chest Content: Determines the item inside the chest. This maps to the item-giving system, using a negative value passed to Actor_OfferGetItemNearby() to spawn the correct prize (e.g., rupees, key, heart piece, etc.).


En_Box

ID: 000A
Object: 000E
Code Files: z_en_box.c
Actor Variables
v &>> 0xF000 = Type
0 [0000] Large
1 [1000] Large, Appears, Clear Flag
2 [2000] Boss Key’s Chest
3 [3000] Large, Falling, Switch Flag
4 [4000] Large, Invisible
5 [5000] Small
6 [6000] Small, Invisible
7 [7000] Small, Appears, Clear Flag
8 [8000] Small, Falls, Switch Flag
9 [9000] Large, Appears, Zelda's Lullaby
A [A000] Large, Appears, Sun's Song Triggered
B [B000] Large, Appears, Switch Flag
C [C000]+ Large
v &>> 0x0FE0 = Contents
00 [0000] Invalid //Link tries to pick it up, fails if it’s large, works fine if it’s small (but the second time you pick it up, it glitches and makes you shoot into the air until you hit the ceiling, at which point you fail miserably; trying to throw it makes it stuck in the air)
01 [0020] Bombs (5)
02 [0040] Deku Nuts
03 [0060] Bombchu (10)
04 [0080] Fairy Bow
05 [00A0] Fairy Slingshot //Triggers chest opening cutscene
06 [00C0] Boomerang
07 [00E0] Deku Stick (1)
08 [0100] Hookshot
09 [0120] Longshot //Triggers chest opening cutscene
0A [0140] Lens of Truth
0B [0160] Zelda’s Letter //Triggers chest opening cutscene
0C [0180] Ocarina of Time //Triggers chest opening cutscene
0D [01A0] Megaton Hammer
0E [01C0] Cojiro //Triggers chest opening cutscene
0F [01E0] Empty Bottle //Triggers chest opening cutscene
10 [0200] Red Potion //Triggers chest opening cutscene
11 [0220] Green Potion //Triggers chest opening cutscene
12 [0240] Blue Potion //Triggers chest opening cutscene
13 [0260] Bottled Fairy //Triggers chest opening cutscene
14 [0280] Lon Lon Milk
15 [02A0] Ruto's Letter
16 [02C0] Magic Bean
17 [02E0] Skull Mask //Triggers chest opening cutscene
18 [0300] Spooky Mask //Triggers chest opening cutscene
19 [0320] Chicken //Triggers chest opening cutscene. Uses Magic Bean message ID
1A [0340] Keaton Mask //Triggers chest opening cutscene
1B [0360] Bunny Hood //Triggers chest opening cutscene
1C [0380] Mask of Truth //Triggers chest opening cutscene
1D [03A0] Pocket Egg //Triggers chest opening cutscene
1E [03C0] Pocket Cucco //Triggers chest opening cutscene, uses Magic Bean message ID
1F [03E0] Odd Mushroom //Triggers chest opening cutscene
20 [0400] Odd Potion //Triggers chest opening cutscene
21 [0420] Poacher’s Saw //Triggers chest opening cutscene
22 [0440] Broken Goron’s Sword //Triggers chest opening cutscene
23 [0460] Prescription //Triggers chest opening cutscene
24 [0480] Eyeball Frog //Triggers chest opening cutscene
25 [04A0] World’s Finest Eye Drops //Triggers chest opening cutscene
26 [04C0] Claim Check //Triggers chest opening cutscene
27 [04E0] Kokiri’s Sword
28 [0500] Giant’s Knife //Triggers chest opening cutscene
29 [0520] Deku Shield or blue (5) rupee
2A [0540] Hylian Shield or blue (5) rupee
2B [0560] Mirror Shield
2C [0580] Goron Tunic or blue (5) rupee
2D [05A0] Zora Tunic or blue (5) rupee
2E [05C0] Iron Boots
2F [05E0] Hover Boots
30 [0600] Big Quiver //Triggers chest opening cutscene
31 [0620] Biggest Quiver //Triggers chest opening cutscene
32 [0640] Bomb Bag
33 [0660] Big Bomb Bag //Triggers chest opening cutscene
34 [0680] Biggest Bomb Bag //Triggers chest opening cutscene
35 [06A0] Silver Gauntlets //Triggers chest opening cutscene
36 [06C0] Golden Gauntlets //Triggers chest opening cutscene
37 [06E0] Silver Scale //Triggers chest opening cutscene
38 [0700] Golden Scale //Triggers chest opening cutscene
39 [0720] Stone of Agony //Triggers chest opening cutscene
3A [0740] Gerudo Membership Card //Triggers chest opening cutscene
3B [0760] Fairy Ocarina //Triggers chest opening cutscene. Uses Ocarina of Time message ID
3C [0780] Blue (5) rupee
3D [07A0] Heart Container //Triggers chest opening cutscene
3E [07C0] Piece of Heart //Triggers chest opening cutscene
3F [07E0] Boss Key //Triggers chest opening cutscene
40 [0800] Compass //Triggers chest opening cutscene
41 [0820] Map //Triggers chest opening cutscene
42 [0840] Small Key
43 [0860] Small Magic Container or Blue (5) Rupee //Untested
44 [0880] Large Magic Container or Blue (5) Rupee //Untested
45 [08A0] Adult Wallet //Triggers chest opening cutscene
46 [08C0] Giant Wallet //Triggers chest opening cutscene
47 [08E0] Weird Egg //Triggers chest opening cutscene
48 [0900] Recovery Heart
49 [0920] Arrows (5)
4A [0940] Arrows (10)
4B [0960] Arrows (30)
4C [0980] Green (1) Rupee
4D [09A0] Blue (5) Rupee
4E [09C0] Red (20) Rupee
4F [09E0] Heart Container //Triggers chest opening cutscene
50 [0A00] Lon Lon Milk //Triggers chest opening cutscene
51 [0A20] Goron Mask //Triggers chest opening cutscene
52 [0A40] Zora Mask //Triggers chest opening cutscene
53 [0A60] Gerudo Mask //Triggers chest opening cutscene
54 [0A80] Goron Bracelet //Triggers chest opening cutscene
55 [0AA0] Purple (50) Rupee
56 [0AC0] Huge/Yellow (200) Rupee
57 [0AE0] Giant's Knife or Biggoron’s Sword //Triggers chest opening cutscene, Biggoron's Sword is only given when the relevant flags are set
58 [0B00] Fire Arrow
59 [0B20] Ice Arrow
5A [0B40] Light Arrow
5B [0B60] Gold Skulltula Token
5C [0B80] Din’s Fire
5D [0BA0] Farore’s Wind
5E [0BC0] Nayru’s Love
5F [0BE0] Deku Seeds Bullet Bag (40)
60 [0C00] Deku Seeds Bullet Bag (40) //Triggers chest opening cutscene
61 [0C20] Deku Stick
62 [0C40] Deku Stick
63 [0C60] Deku Nuts
64 [0C80] Deku Nuts
65 [0CA0] Bombs (1)
66 [0CC0] Bombs (10)
67 [0CE0] Bombs (20)
68 [0D00] Bombs (30)
69 [0D20] Deku Seeds (30) or blue (5) rupee
6A [0D40] Bombchu (5)
6B [0D60] Bombchu (20)
6C [0D80] Bottled Fish //Triggers chest opening cutscene
6D [0DA0] Bottled Bug //Triggers chest opening cutscene
6E [0DC0] Blue Fire //Triggers chest opening cutscene
6F [0DE0] Bottled Poe //Triggers chest opening cutscene
70 [0E00] Bottled Big Poe //Triggers chest opening cutscene
71 [0E20] Door Key (Treasure Box Shop)
72 [0E40] Loser Green Rupee (Treasure Box Shop)
73 [0E60] Loser Blue Rupee (Treasure Box Shop)
74 [0E80] Loser Red Rupee (Treasure Box Shop)
75 [0EA0] Winner Purple Rupee (Treasure Box Shop)
76 [0EC0] Winner Piece of Heart (Treasure Box Shop) //Triggers chest opening cutscene
77 [0EE0] Deku Stick Upgrade (20)
78 [0F00] Deku Stick Upgrade (30)
79 [0F20] Deku Nut Upgrade (30)
7A [0F40] Deku Nut Upgrade (40)
7B [0F60] Deku Seeds Bullet Bag (50) //Triggers chest opening cutscene
7C [0F80] Ice Trap //Freezes Link when opened
7D [0FA0] Pocket Egg (Invalid) //No model appears over Link
7E [0FC0] Invalid //Game crashes when opened
7F [0FE0] Invalid //Game crashes when opened
v &>> 0x1F = Chest Flag //If multiple chests share the same chest flag in a room, opening one will open the others with the same flag.
rz &>> 0x3F = Switch Flag to spawn chest
Effects Level Elements

Treasure Chest Light

This actor represents the magical glowing effect that rises from treasure chests when they are opened in certain cutscenes. It uses skeletal curve animation (SkelCurve) to animate a transparent, swirling effect that moves upward as the chest lid opens. Upon initialization, the actor loads the appropriate animation depending on whether the player is child or adult, and sets its transparency values (unk_170 and unk_174) to fully opaque. It remains in a waiting state until it detects the treasure chest lid has reached frame 10 of its opening animation, at which point it starts animating. The animation gradually fades out different parts of the glow by interpolating the alpha values based on the animation's progress. Around frame 30, a flashing sound effect is played to coincide with the visual burst. Once the animation completes, the actor destroys itself. Visually, the draw function renders the animated limbs with a shimmering scroll texture and dynamic colors that fade over time, giving the illusion of magical energy escaping the chest.


Demo_Tre_Lgt

ID: 00AA
Object: 000E
Code Files: z_demo_tre_lgt.c
Level Elements Plants

Trees and Bushes

En_Wood02 is a versatile actor responsible for rendering and managing trees, bushes, and falling leaves across Hyrule. It supports dynamic spawning logic to populate large outdoor areas like Hyrule Field without overwhelming system memory. Trees and bushes can appear in clusters, with spawners activating nearby vegetation based on the player’s proximity and camera frustum. This actor also manages collision with trees and rustling bushes, allowing randomized item drops and visual effects such as wobble animations and falling leaves. The leaf subtypes behave as lightweight visual actors that drift and fade after a set lifespan, enhancing environmental immersion.


En_Wood02

ID: 0077
Object: 007C, 0002
Code Files: z_en_wood02.c
Actor Variables
v &>> 0x00FF = Type
00 [0000] Large tree
01 [0001] Medium tree
02 [0002] Small tree
03 [0003] Group of trees
04 [0004] Medium tree
05 [0005] Medium tree, dark brown trunk, greener leaves
06 [0006] Group of trees, dark brown trunk, yellow leaves
07 [0007] Medium tree, dark brown trunk, yellow leaves
08 [0008] Group of trees, dark brown trunk, greener leaves
09 [0009] Medium tree, dark brown trunk, greener leaves
0A [000A] Ugly tree from Kakariko Village
0B [000B] Bush
0C [000C] Large bush
0D [000D] Group of bushes
0E [000E] Bush
0F [000F] Group of large bushes
10 [0010] Large bush
11 [0011] Dark bush
12 [0012] Large dark bush
13 [0013] Group of dark bushes
14 [0014] Dark bush
15 [0015] Group of large dark bushes
16 [0016] Large dark bush
19 [0019]+ Dancing dark bush //Disappears after several repetitions
v &>> 0xFF00 = Controls item(s) dropped (trees only)
00 [0000]+ Random
08 [0800] Deku seeds
09 [0900] Magic jars
0A [0A00] Bombs
0B [0B00] Three Green Rupees
0C [0C00] Three Blue Rupees
0D [0D00] Random
0E [0E00] Random
0F [0F00]+ Nothing
FF [FF00] Nothing
rz &>> 0x00FF = Gold Skulltula spawn var high byte //(0xFF00); See Gold Skulltula Actor 0095
v &>> 0xFF00 = Gold Skulltula spawn var low byte //(0x00FF); rz != 0
//When spawning a Skulltula, the Skulltula type is always forced to 0x0E
Level Elements Puzzle Switch Trap

Truth Spinner Puzzle (Shadow Temple)

The Bg_Haka_Gate actor is a multi-functional puzzle component used in the Shadow Temple’s "Skull of Truth" spinner puzzle. Depending on its params value, it controls different objects: the rotating statue, the floor trap, the gate, and the flaming skulls. The central mechanic involves rotating a statue to face one of several skull torches—only one of which is the real "Skull of Truth." If the statue is correctly rotated and the player steps away, the puzzle checks if the skull aligns with the predetermined solution. A correct match opens the gate and ends the puzzle, while a wrong guess triggers a trapdoor beneath the player. The skull flames include a visual lens of truth interaction, with the real skull distinguished only by using the Lens of Truth. The actor manages dynamic interactions, switch flags, cutscenes, and visual effects like spinning flames and animated gates, using shared static variables to ensure puzzle consistency. This actor showcases complex interactivity, conditional logic, and integrated cutscene handling within the dungeon environment.


Bg_Haka_Gate

ID: 00F7
Object: 0069
Code Files: z_bg_haka_gate.c
Actor Variables
v &>> 0xFF = Type
00 [0000] Rotatable Bird Statue
01 [0001] Circular Trap Door Platform //Opens when wrong skull is chosen
02 [0002] Gate //Only blocks one-way
03 [0003] Skull Top
04 [0004]+ Glitchy graphics, can’t see object, behaves like the gate
v &>> 0x3F00 = Switch Flag
Level Elements Puzzle Switch

Twisted Hallway Rooms

The Bg_Mori_Hineri actor controls the iconic twisting hallway and adjacent room in the Forest Temple. It dynamically swaps geometry and collision to simulate the hallway twisting based on switch flags, providing a dramatic visual and gameplay effect. The actor manages multiple versions of the hallway (straight or twisted) and coordinates between object sets for each variant. It integrates with camera cutscenes to enhance the transition, spawns a special boss key chest when untwisting occurs, and even renders a rotating door and chest lid if appropriate object data is loaded. The twisting animation is simulated by rotating the hallway’s geometry as the player approaches, creating one of the most memorable moments in the dungeon.


Bg_Mori_Hineri

ID: 0068
Object: 0001, 006F
Level Elements Plants

Uninteractable Flowers, Rocks, Grass

The Obj_Hana actor represents a variety of small environmental decorations found primarily in graveyard or field areas, such as a grave flower, a rock fragment, and a bush. These objects are visually simple but use scalable geometry and, in some cases, cylindrical collision to interact with the player. Each object type is determined by parameters passed on spawn, which select different models, sizes, and behaviors. For example, the bush type includes collision and despawns if a specific story event has occurred. The actor updates its collider only when the player is within range to optimize performance.


Obj_Hana

ID: 014F
Object: 0002
Known Default Requirements:
Scene: Overworld
Code Files: z_obj_hana.c
Actor Variables
v &>> 0x3 = Types
00 [0000] Flower
01 [0001] Small Rock
02 [0002] Grass Shrub
Entrance Gate Level Elements Obstacle

Vertical Ice Bars (Ice Cavern)

The Bg_Ice_Shutter actor represents the vertical sliding ice bar doors found in the Ice Cavern in The Legend of Zelda: Ocarina of Time. These translucent gates block progression until certain conditions are met, functioning as room-based or switch-based barriers. Depending on the parameters passed at initialization, an ice shutter can either block access until a room is cleared of enemies (room-clear shutter) or until a specific switch is activated (switch-triggered shutter).

When initialized, the actor determines its behavior by decoding parameters that specify its type and switch ID. If it's a room-clear shutter and the room has already been marked clear, it deletes itself immediately. Otherwise, it waits until the temporary room clear flag is set—usually after defeating all enemies—before triggering its opening sequence. For switch-based shutters, it monitors the linked switch and begins to open once it is triggered.

The opening animation is handled with trigonometric calculations that simulate the bars sliding up or rotating away based on the shutter's orientation. During the transition, a sliding sound effect is played to enhance immersion. Once the shutter has moved a certain distance, it is removed from the scene.

This actor uses the DynaPoly system for collision handling and environmental interaction, and it is registered with a static collision model. The shutter can rotate and move in three-dimensional space, allowing it to accommodate varied architectural placements in the Ice Cavern.


Bg_Ice_Shutter

ID: 01C8
Object: 006B
Code Files: z_bg_ice_shutter.c
Entrance Level Elements

Warp Portal

The DoorWarp1 actor handles all major warp portals and warp crystal events that occur after dungeon completions and during key cutscenes. It controls the behavior of blue and purple warp crystals, child and adult dungeon warps, and various color-coded destination warps used in temple scenes. The actor uses a modular state machine to manage different actions such as appearing, warping in or out, playing cutscenes, and deactivating after use. It integrates closely with the cutscene system, triggering specific sequences, item rewards, and transitions between locations. Visually, it creates dynamic effects like glowing light rays, animated warp portals, and crystal opacity changes using skeletal animations, matrix scaling, and segment-based coloring. It also manipulates environmental elements like fog and lighting and controls player movement, gravity, and positioning to ensure a smooth cinematic experience. With support for multiple variants and transition types, DoorWarp1 plays a critical role in storytelling and progression, guiding players through pivotal moments in the game.


Door_Warp1

ID: 005D
Object: 0048
Code Files: z_door_warp1.c
Actor Variables
v &>> 0xFFFF = Type
FFFE [FFFE] Spawning in from crystal //Combine with Link's gentle fall spawn in
0000 [0000] Normal
0001 [0001] Nothing
0002 [0002] Blue warp, disappears
0003 [0003] Giant purple crystal/magic enclosure
0004 [0004] Yellow warp, disappears
0005 [0005] Blue warp, doesn't warp you
0006 [0006] Spawn in from child blue warp //Combine with Link's gentle fall
0007 [0007] Blue warp, warping animation
0008 [0008] Tan warp, disappears
0009 [0009] Green warp, disappears
000A [000A] Red warp, disappears
000B [000B]+ Area fails to load
Level Elements

Warp Song Pad

The Bg_Mjin actor represents warp pads used for teleportation throughout the game, such as elemental warp pads and the Ocarina pedestal in the Temple of Time. It dynamically loads one of several object sets depending on its params value (e.g., fire, ice, shadow), ensuring the correct graphics and collision data are used. When initialized, it sets up its object dependency, applies the correct collision header, and registers itself with the dynamic polygon system. While the warp pad doesn't include active behavior itself, it serves as a visually distinct and interactable location, often used in cutscenes or warping mechanics. Its visual appearance and rendering setup are determined by the loaded object segment and draw function.


Bg_Mjin

ID: 006E
Object: 0001, 0061
Code Files: z_bg_mjin.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] (0068) Ocarina //Unused
0001 [0001] (0062) Light Medallion
0002 [0002] (0063) Shadow Medallion
0003 [0003] (0064) Fire Medallion
0004 [0004] (0065) Water Medallion
0005 [0005] (0066) Spirit Medallion
0006 [0006] (0067) Forest Medallion
Level Elements Switch Water Level

Water Plane (Water Temple)

The Bg_Mizu_Water actor manages the dynamic water level throughout the Water Temple, responding to specific switch flags (0x1C, 0x1D, and 0x1E) to raise or lower the water surface across multiple rooms. Upon initialization, it sets the water height based on active switches or defaults, and updates relevant water boxes in the collision context. The actor handles smooth transitions using Math_StepToF, triggers cutscenes and sound effects during level changes, and integrates with draw parameters to simulate visual fog effects at different depths. Variants of the actor also support localized water height changes in special rooms. As a key mechanism of dungeon progression, Bg_Mizu_Water ensures that puzzles and access routes change dynamically with each adjustment to the temple's water level.


Bg_Mizu_Water

ID: 0065
Object: 0059
Code Files: z_bg_mizu_water.c
Actor Variables
v &>> 0xFFFF = #N/A
0000 [0000] Switches to lowest (Triforce seems to activate itself for some reason in the ToT)
0001 [0001]+ Stays at ground level (Triforce isn't affected in ToT)
1A02 [1A02] Water Temple Map 3, Standard Quest
3103 [3103] Water Temple Map 6, Standard Quest
1804 [1804] Water Temple Map 14, Standard Quest
FF00 [FF00] Water Temple (most rooms), Standard Quest
Effects Level Elements

Water Spout

The En_Siofuki actor represents dynamic water spouts that rise and fall in certain areas, primarily serving as timed environmental hazards or platforms. These water jets oscillate in height and apply physical force to the player when approached, potentially lifting or pushing them depending on proximity and direction. The actor uses sine wave movement for realistic animation, handles sound effects based on its current state, and can respond to in-game switches and treasure flags to change behavior or deactivate permanently. Its movement logic is defined by parameters that dictate whether it should raise, lower, or cycle between both actions.


En_Siofuki

ID: 015F
Object: 013A
Code Files: z_en_siofuki.c
Actor Variables
v &>> 0xFFFF = #N/A
0000 [0000] Normal
2000 [2000]+ Nothing
Level Elements Puzzle Switch Water Level

Water Temple Background Actors

The Bg_Mizu_Movebg actor is responsible for handling the Water Temple’s moving platforms and statues, including floating platforms that adjust with the water level, dragon statues that move vertically based on switch flags, and the rotating hookshot target platform. Depending on its params, it loads different display lists and collision headers and may optionally follow a path if it’s the hookshot platform variant. The actor checks switch flags to determine its position or movement behavior, uses Math_StepToF to move smoothly, and optionally spawns child actors like Obj_Hsblock for dragon statues. It includes dynamic texture scrolling and water-themed alpha blending to simulate the temple’s aquatic atmosphere. The platform also plays elevator or rolling sounds while in motion and includes custom segment setup for visual effects.


Bg_Mizu_Movebg

ID: 0064
Object: 0059
Code Files: z_bg_mizu_movebg.c
Actor Variables
v &>> 0xF000 = Type
0 [0000] Floating Square platform, sloped bottom //Used in first room, on center column
1 [1000] Floating Square platform
2 [2000] Floating Square platform, tapered on bottom //Center Room floating block
3 [3000] Dragon Head Statue //Main Room
4 [4000] Dragon Head Statue //Skulltula Room
5 [5000] Dragon Head Statue //before Dark Link
6 [6000] Dragon Head Statue
7 [7000] Moving Square Platform with Hookshot Target
v &>> 0x0F00 = Path to follow //Type 7 only
v &>> 0x00F0 = Speed //Type 7 only
v &>> 0x000F = Start Point on Path //Type 7 only
Elevator Level Elements

Water Vortex

The En_Stream actor creates a water vortex that detects when the player is within a cylindrical region above it and then exerts suction forces that draw the player toward its center. Once caught in the vortex, the player is gradually pulled inward on the XZ-plane while also being pushed downward on the Y-axis. The vortex continues to influence the player’s movement until they escape or are fully drawn into the center, potentially triggering drowning or other scripted events. The visual effect of the vortex is animated through texture scrolling, and it plays a looping sound effect to reinforce its presence.


En_Stream

ID: 0160
Object: 013B
Code Files: z_en_stream.c
Actor Variables
v &>> 0xFFFF = Type //FIXME
Test
0000 [0000] Tall and narrow
0001 [0001] Short and wide
0002 [0002]+ Same as 0
Destructible Level Elements

Web-Blocked Ceiling Hole (Inside Ganon’s Castle)

The Bg_Gnd_Soulmeiro actor is used in Ganon's Castle to manage several spiritual trial objects, including the web-blocked ceiling, the light beam source, and the illuminated floor. Its primary role is to handle the web covering the ceiling hole, which the player must destroy using light-based attacks. When the correct conditions are met—such as shining light into the room or triggering a switch—the actor initiates a sequence that plays an effect of the web burning away and then spawns a Mir_Ray actor to represent the beam of light. In its web-covered state, the actor uses a cylindrical collider to detect hits and only becomes destructible when the appropriate trial switch hasn't been activated. Additionally, other variants of this actor represent the light source and light floor, which are conditionally drawn based on the current state of the switches. The destruction animation includes randomized particle effects that mimic the web disintegrating into ash, enhancing the cinematic feel of the puzzle being solved.


Bg_Gnd_Soulmeiro

ID: 01B5
Object: 0179
Code Files: z_bg_gnd_soulmeiro.c
Actor Variables
v &>> 0x3F00 = Switch Flag
v &>> 0xFF = Type //FIXME
Types
00 [0000] Web?
01 [0001] Unknown
02 [0002] Unknown
Destructible Level Elements Obstacle Puzzle

Webs

The Bg_Ydan_Sp actor, which represents burnable spider webs found in the Deku Tree dungeon of The Legend of Zelda: Ocarina of Time. These webs serve as environmental obstacles and can be destroyed through specific player actions like burning with a Deku Stick or falling from a height. This actor enhances gameplay by creating interactive, destructible environmental puzzles that respond to fire and player movement.

Switch Flag (Set When Destroyed)
This value determines which switch flag is set after the web has been successfully destroyed. It ensures the web stays removed if the player re-enters the room.

Switch Flag (Burn Trigger)
This value defines the burn trigger switch that, if set elsewhere in the dungeon (e.g., via torches or other mechanics), causes the web to ignite automatically.

Web Type:
Web-Covered Hole
– A horizontal web on the ground. Can be burned or broken by falling onto it from high up. When destroyed, it animates a tear and possibly reveals a pit or passage.
Vertical Web Wall – A web stretched across a vertical surface, usually over a door. Can be burned by touching it with a lit stick.
Special Floor Web – Like the basic floor web, but when burned, it displays a dramatic vertical flame column effect as it dissolves in reverse cone-like motion.


Bg_Ydan_Sp

ID: 000F
Object: 0036
Code Files: z_bg_ydan_sp.c
Actor Variables
v &>> 0x3F = Switch Flag //Set when destroyed
v &>> 0x0FC0 = Switch Flag //Web burns when set
v &>> 0xF000 = Web Type
0 [0000] Web-Covered Hole
1 [1000] Vertical Web Wall
2 [2000]+ Web-Covered Hole //When burned, web becomes inverse-conical and extends upwards
Level Elements

Well Crossbeam (Kakariko Village)

The Bg_Spot01_Idohashira actor represents the wooden beam structure above the well in Kakariko Village. This beam plays a key role in a story cutscene that explains how the well was sealed. During that cutscene, the beam spins and crashes into the well, triggering dust and spark effects. The actor is responsible for controlling this animation, handling timed effects, rotating the beam, and despawning itself at appropriate times depending on the player's progress. It uses a dynamic collision object and has multiple modes depending on whether it is in the main game or a cutscene layer.


Bg_Spot01_Idohashira

ID: 0103
Object: 00F9
Code Files: z_bg_spot01_idohashira.c
Level Elements

Well Water (Kakariko Village)

The Bg_Spot01_Idomizu actor represents the animated water surface inside the well in Kakariko Village. This actor dynamically adjusts the water level based on the player’s progress in the story. If the well has been drained (via the Song of Storms event), the water level drops to a hidden position below the well. Otherwise, it stays at its normal height. The water also animates with a scrolling texture to simulate movement. This actor uses translucency and updates the waterbox’s surface height in the collision context so Link can swim in it if it's active.


Bg_Spot01_Idomizu

ID: 0104
Object: 00F9
Known Default Requirements:
Scene must include water box & has a story flag dependency
Code Files: z_bg_spot01_idomizu.c
Actor Variables
v &>> 0xFFFF = Default
FFFF [FFFF] Default
Level Elements Obstacle

Windmill Objects

The Bg_Relay_Objects actor in Ocarina of Time manages two key environmental setpieces: the rotating gear inside the Kakariko Village windmill and the stone slab doors in Dampé's grave-digging race. When functioning as the windmill gear, the actor causes the wooden mechanism to rotate continuously, with its speed determined by the game’s event flags—spinning faster after the “Song of Storms” sequence has been completed. It emits a creaking wood sound that varies with its speed and uses a static flag to prevent multiple instances from running simultaneously. In its other role, the actor handles the large stone doors that open and close throughout Dampé’s race. Each door responds to a corresponding switch flag and will rise when triggered, remain open for a brief timer duration, then slam shut with a rumble effect and stone impact sound. If the player isn’t in the correct room when the door closes, the game plays a ghostly laugh and forcibly respawns them at the beginning of the course. One specific door (the fifth) is open by default based on story progress. This dual-purpose actor is a strong example of how Ocarina of Time uses shared logic and switch flags to manage dynamic environmental storytelling and gameplay flow.


Bg_Relay_Objects

ID: 0123
Object: 006C
Code Files: z_bg_relay_objects.c
Actor Variables
v &>> 0xFF00 = Type
00 [0000] Rotating platform
01 [0100]+ Thick stone door //Opened when Dampe approaches //FIXME: Investigate more
v &>> 0xFF = Nullable Switch Flag
//Thick Stone Door behavior:

//Doors that spawn in the down position are spawned in room 0. These doors are opened when the switch flag is set,
//shut when a certain time has passed and force the player to zone out if not passed through. A pass through seems to
//only be registered if the room changes?
Level Elements

Windmill Sails (Kakariko Village)

The Bg_Spot01_Fusya actor represents the rotating windmill sails in Kakariko Village in The Legend of Zelda: Ocarina of Time. It is a simple background actor that continuously spins its vertical blades on the Z-axis and plays the iconic windmill music as it rotates. The sail's rotation speed gradually increases over time, especially after a key story event involving the Song of Storms. The actor uses a minimal state machine with one primary update function to handle animation and sound, and it renders the windmill sails using a display list from object_spot01_objects.


Bg_Spot01_Fusya

ID: 0102
Object: 00F9
Code Files: z_bg_spot01_fusya.c
Effects Level Elements

Windows (Temple of Time)

The Bg_Toki_Hikari actor handles the light beam effects in the Temple of Time’s stained glass windows. It uses animated textures and additive blending to create shimmering light rays when Link is a child. A second mode triggers a dramatic energy pulse and light shaft animation during the Door of Time opening cutscene. This visual effect is tied to the game's story progression flags and fades out once the event completes, after which the actor removes itself. It’s a simple but iconic atmospheric element that enhances the magic of the Temple.


Bg_Toki_Hikari

ID: 006A
Object: 005E
Code Files: z_bg_toki_hikari.c
Actor Variables
v &>> 0xFFFF = Type
0000 [0000] Normal
0001 [0001] Invisible
0002 [0002]+ Crashes
Level Elements

Wooden Flagpole with Red Cloth

The En_Hata actor is a decorative wooden flagpole with a red cloth that waves dynamically in the wind. It uses skeletal animation and a flexible cloth system to simulate realistic wind behavior, reacting to both wind speed and direction set in the game’s environment context. The animation speed, joint rotations, and cloth sway are updated every frame based on randomized wind fluctuation values, making the flag appear to ripple naturally. The actor also includes dynamic collision using DynaPoly, allowing it to be part of the environment’s collision map. While it has collision data and limb override logic, it doesn’t interact with the player or other entities and serves purely as an environmental visual element.


En_Hata

ID: 0026
Object: 0076
Code Files: z_en_hata.c
Actor Variables
v &>> 0xFFFF = Default
Level Elements NPC

Young Epona

The En_Horse_Link_Child actor represents Young Epona, the foal version of Epona featured during Link’s childhood. This actor is mainly used in scenes set at Lon Lon Ranch and during scripted cutscenes, particularly those involving Malon and the learning of Epona’s Song. Young Epona’s behavior is defined through several action states that dictate how she moves, reacts to the player, and interacts with events or music.

Upon initialization, the actor sets its skeleton, collision data, animation, and other parameters like gravity and scale. The animations are selected from a set of five: idle, whinny, walk, trot, and gallop. Depending on the context—such as whether a cutscene is active, if Malon has returned to the ranch, or if Epona’s Song has been played—the actor enters different action states. For example, in action state 3, she exhibits autonomous behavior that changes depending on Link’s proximity, moving toward him or idling if he gets too close. If Epona’s Song is played (or a corresponding cutscene flag is triggered), she transitions to action state 4, in which she gallops toward Link or returns to her home position, complete with turn logic and speed control based on distance.

The actor uses sound effects like neighing, galloping, or whinnying to enhance realism and convey emotion. Sound triggers are integrated with animation keyframes and frame counters. The actor also includes eye-blinking behavior through a series of indexed eye textures that cycle randomly, giving Epona a lifelike appearance. Collision handling is split between her body and head, using a cylinder and joint sphere respectively, both managed by the game’s collision system for player interaction and movement realism.


En_Horse_Link_Child

ID: 009A
Object: 00A0
Code Files: z_en_horse_link_child.c
Cutscene Level Elements NPC

Zelda’s Horse

The En_Horse_Zelda actor represents Zelda’s white horse, seen galloping across Hyrule Field in Ocarina of Time’s opening and ending cutscenes. This actor uses skeletal animation and follows a pre-defined looping path composed of coordinates and target speeds (sHorseFieldPositions). As it moves, the horse dynamically adjusts its yaw to face the next waypoint and modulates its speed based on proximity to the player or waypoint target. Its movement state toggles between idle (Stop) and animated galloping (Gallop) with synchronized sound effects. The actor includes two colliders: a cylindrical body collider and a joint-sphere collider for limb-based detection. Rendering uses a Skin system for dynamic limb animation, and a post-draw callback ensures accurate collision sphere placement. Its shape rotation is adjusted based on ground slope to simulate natural galloping posture.


En_Horse_Zelda

ID: 005B
Object: 0046
Code Files: z_en_horse_zelda.c
Level Elements Mini Game NPC

Zora Diving Game

The En_Diving_Game actor manages the Zora's Domain diving minigame. Upon initialization, it checks if another instance already exists and removes itself if so. When active, the actor offers dialogue interactions to start the minigame, which costs 20 rupees. If accepted, the game sets up a scripted cutscene where the Zora throws special rupees (En_Ex_Ruppy) into the water, then initiates a timed challenge where Link must collect them. The actor uses sub-cameras for cinematic angles during rupee throws and tracks the number of rupees collected to determine success. Winning grants the player a reward like the Silver Scale, while losing prompts a failure message. The actor handles animations, transitions, state tracking, and message flow, cycling through phases like idle, preparing the game, playing, and awarding prizes. It also manages a simple idle animation with head and torso tracking for realism, eye blinking, and ripple effects in water for visual polish.


En_Diving_Game

ID: 0124
Object: 00FE
Code Files: z_en_diving_game.c
Level Elements

Zora’s Domain Waterfall and Ice

The `Bg_Spot07_Taki` actor (`z_bg_spot07_taki.c`) represents the animated waterfall and frozen surfaces in Zora’s Domain, dynamically changing based on Link’s age and story progression. When Link is a child, the area displays flowing water effects with layered scrolling textures, creating a vibrant, animated waterfall scene. As an adult, the domain becomes frozen, and this actor conditionally loads collision data and geometry for either solid ice formations or the frozen waterfall, based on parameters. The actor handles both visual rendering and physical collision using the dyna system but performs no behavior updates beyond initialization—its primary purpose is environmental storytelling through conditional rendering. The draw function adapts dynamically to game state, rendering different display lists and applying custom scrolling effects or semi-transparent textures depending on context. This actor contributes significantly to the atmospheric transformation of Zora’s Domain between timelines, reinforcing the consequences of the world’s altered state.


Bg_Spot07_Taki

ID: 0120
Object: 0113
Code Files: z_bg_spot07_taki.c
Actor Variables
//Displays Waterfall and Water (providing water animation), and handles ice
v &>> 0xFFFF = Type
0000 [0000] Waterfall and Pool //Room 1
0001 [0001]+ King's Chamber Water //Room 0
Effects Entrance Gate Level Elements Obstacle Switch

Zora’s River Waterfall

The Bg_Spot03_Taki actor controls the animated waterfall in Zora’s River, a key environmental element in Ocarina of Time. This dynamic actor represents the curtain of water that hides the entrance to Zora’s Domain. Initially solid and opaque, the waterfall responds to a specific switch flag to begin an animated opening sequence. As the animation progresses, its alpha transparency gradually decreases, making the waterfall fade away visually and disabling its collision to allow the player to pass through. After a set duration, the waterfall automatically restores itself by reversing the transparency and re-enabling collision, effectively closing the passage again. The draw function uses scrolling textures to simulate the flowing water effect, and special audio cues adjust the waterfall sound based on its state. By linking visual, physical, and audio elements with game progression logic, this actor creates an immersive and interactive environmental barrier that feels both natural and meaningful within the world.


Bg_Spot03_Taki

ID: 011F
Object: 0112
Code Files: z_bg_spot03_taki.c
Actor Variables
v &>> 0x003F = Switch Flag