Similarly to owl statues, the actor parameters of many other actors are used to index an exit list. However, unlike owl statues (in which Song of Soaring or the file select screen sets the new entrance), these other actors set your entrance directly. By manipulating the actor parameters (offset 0x1C), or another field, of various actors that set your entrance, it is possible to wrong warp to a subset of locations depending on the actor and the scene.
The Woods of Mystery are composed of a 3x3 grid of rooms. The path between the rooms varies depending on the day.
Day 1 Day 2 Day 3
6 7 <- 8 6 7 <- 8 6 -> 7 -> 8
^ | ^ ^ |
| v | | v
3 -> 4 -> 5 3 <- 4 5 3 <- 4 5
^ ^ ^
| | |
0 <- 1 2 0 1 -> 2 0 1 2
How was this achieved? In other scenes with day-dependent room layouts (such as beaver race), collision barriers serve to block you off from the unused rooms. But in the Woods of Mystery, taking a wrong turn actually sends you back to Southern Swamp.
Well, the answer lies in the loading plane actor (0x18, En_Holl). Byte 0x144 (the first Byte following the header that is common to all actors) of the actor instance sets the "type" of loading plane it is. 0x00 in that Byte will mark the actor for death. 0x04 marks the actor as a "scene changer". Anything else will cause the actor to behave like a "normal" loading plane (one that changes the room). Note that the subsequent Byte (0x145) sets the opacity, which means that clear (0x00) and black (0xFF) loading planes are exactly the same, contrary to popular belief, and the difference is purely visual.
The tunnels between rooms on the incorrect path are filled with these "scene changer" loading planes. They act essentially like loading zones (which are what's used for the tunnels on the periphery of the 3x3 grid). However, since loading planes are actors rather than specially-marked collision triangles, they can be manipulated with SRM. This is made much more convenient by the fact that the "fake" loading planes actually allocate with all the other actors in the room. "Normal" loading planes allocate before everything else in the room, which makes it impossible to manipulate them in a scene with only 2 rooms.
So how do these loading planes know to send you to Southern Swamp from Woods of Mystery? Well, it's set in the Actor Parameters (offset 0x1C), the same field we manipulate for Owl Statue SRM. Specifically, the low 7 bits of the actor parameters are used to index the exit list for the current scene. By default these bits are 0, causing the first entry in the table to be grabbed, which is Southern Swamp from Woods of Mystery. This exit list has only one entry in it, but due to the 7 available bits, we can index far past the bounds, leading to a variety of wrong warps.
There are other actors that set your entrance based on an index to an exit list as well. All such actors are conveniently posted here as a table.
ID | Name | Description | Exit List Used | Index Used |
---|---|---|---|---|
0x18 | En_Holl | Loading Plane | Current Scene | Low 7 bits of Params (if offset 0x144 == 0x04) |
0x38 | Door_Warp1 | Blue Warp | Current Scene | High Byte of Params |
0x55 | Door_Ana | Grotto | Current Scene or Grotto Overlay | Low 5 bits of Params or all 16 bits of initial Z-rotation |
0xA6 | En_Hs | Grog (Cucco Shack) | Current Scene | Low Byte of Params |
0xBF | En_Js | Moon Child | Current Scene | Bits 0x03F0 in Params |
0xFA | En_Ge3 | Aveil (Pirate Leader) | Current Scene | Unknown bits of Params |
0x116 | En_Warp_tag | Rainbow Warp (Goron Moon Trial) | Current Scene | Low 7 bits of Params |
0x1CE | En_Test7 | Song of Soaring | Song of Soaring Overlay | Unknown bits in Params |
0x1AB | En_Time_Tag | (kicks you out of scenes at certain times of day) | Current Scene | Low 5 bits of Params |
0x1FF | En_Kgy | Gabora (Mountain Smithy) | Current Scene | Low 5 bits of Params |
0x21D | En_Kaizoku | Pirate Fighter | Current Scene | Offset 0x2D4 in Actor |
0x21E | En_Ge2 | Pirate Guard | Current Scene | Unknown bits in Params |
0x238 | En_Zod | Tijo (Zora drummer) | Current Scene | High 7 bits of Params |
0x27F | En_Bomjimb | Bomber Kids (during hide-and-seek) | Current Scene | Offset 0x2B2 in Actor |
This is a spreadsheet of all the possible entrance values for Exit List Index SRM Wrong Warps for various actors.
Note that none of these warps are likely to be useful in a speedrun context, especially considering the fact that arbitrary wrong warps were discovered in the form of Grotto Overlay SRM only a day later. As such, you may have never heard of Exit List Index SRM before reading this page, but it's still included for completeness, as well as historical context.