Reverse BiTMagic (RBM)

Discovered by gymnast86 on May 5th, 2019

Description


Reverse BiTMagic (RBM) is a glitch that allows scene flags from areas in Back in Time to be applied to the Area for a saved file. This allows for several sequence breaks and skips.


Scene Flags


A scene flag is any sort of permanent or persistent change that can occur to an Area's environment. Examples include pushing logs off of cliffs, blowing up piles of boulders, or opening gates. Every Area in the game has a segment of memory that stores the current values of its scene flags. There is also a segment of memory that stores "current" scene flag values; that is, the values of the scene flags for whatever Area the player is currently in.

What Reverse BiTMagic does is Start a file during BiT, which loads the Area scene flags for that file into the current scene flag memory. But any scene flag which is set in BiT during the fadeout is also applied to the current scene flag memory. Thus the scene flag from BiT can be applied to the Area where the started file was saved. Making a change in that area then updates the Area scene flag memory for that Area, allowing us to permanently modify the environment of any Area we can save in.


How To


To perform an RBM trick:

  • Save the file you want to modify at a statue in the Area you wish to modify.
  • Activate BiT.
  • Navigate in BiT to the scene flag you want to apply.
  • Start your file, then perform the action that sets the scene flag during the loading fadeout.
  • After the file has loaded, some RBMs will require you to make a change in the environment to properly update the scene flag into memory.
  • Some RBMs will also require you to reload the area for the change to take affect.

The exact details for where you go during BiT and what action you take as the fadeout occurs will vary from one RBM trick to the next, and some are easier than others. For details on a specific RBM trick, see the trick description on its relevant page, linked below.


Uses


RBM is a very flexible trick in the sense that any scene flag we can set anywhere in BiT (including Faron BiT) can be applied to any Area that we can save in. The uses of RBM, therefore, are only limited by what flags we can access in BiT, and what those flags correspond to in each area.

Major Uses

Other Uses

There are several other uses of RBM as well; the listed ones either were or are used in some category's speedrun route.


Scene Flag Documentation


A community effort has documented many scene flags in the various Areas of Skyward Sword. These flags have been documented in the spreadsheets below. If you want to know if something can be RBM'd, look for that event in the correct Area tab. If you find it, look up the corresponding flag event in Skyloft (or Sealed Grounds/Faron Woods/Lake Floria for Faron Back in Time).

First off, here are the standard scene flags.

And here is another array called the temporary flags. For all means and purposes they act strictly identically to standard scene flags: they can be RBMed, used for BiTMagic, used for commits and always load with standard scene flags. The only difference is that they unset upon leaving the scene.

In addition to standard scene flags and temporary scene flags, there are also zone flags. These are a bit stranger because they unset on load (which makes them impossible to RBM), but they can still be used for BiTMagic. They are also room dependant.

To be able to discuss about scene flags in a quick maneur, community members have decided a naming convention. For exemple, the bit 0x40 at address 0x805AAB55 is generally called "scene flag 5x40". The "x40" part comes from it being the bit 0x40, and the "5" comes from it being in the 6th byte (remember, the 1st byte has a 0) of the scene flag array (which is length 16, or rather F in hexadecimal).

More exemples: the bit 0x01 at address 0x805AAB5A is called "scene flag Ax01". The bit 0x04 at address 0x80578648 is called "temporary flag 0x04" due to being the bit 0x04 in the 1st byte of the temporary flag array. This wiki also uses colours: yellow for scene flags, lime green for temporary flags and magenta for zone flags.


Story Flags and Inventory Flags RBMs


Reverse BiTMagic works by setting a scene flag during the loading transition for starting a file. The same principle also works for story flags and inventory flags. The key difference is that these flags are used globally: while you can do action A in BiT to unlock action B on your file with scene flags, with story flags and inventory flags you are doing action A to unlock action A on a file. While this sounds useless at first, it can allow 2 things: It can skip a cutscene if the story flag is set early during it, but also it can be used to set late game story flags onto an early game file, assuming you have a premade file that can trigger the action that sets that flag in BiT.

Exemples of Story Flags RBM are: Early Thunderhead, Early Light Pillar, or unlocking the ability to collect Gratitude Crystals (see below).

Exemples of Inventory Flags RBM are: Early Life Tree Seedling or the Goddess Sword RBM.


Nighttime BiT Gratitude Crystals


Using a Story Flag RBM, it is possible to get the scattered Gratitude Crystals on Skyloft to appear during nighttime BiT. This enables a few useful RBM tricks, since nighttime BiT can only be accessed with a file saved before obtaining the Hero's Tunic, which is normally too early to obtain the ability to collect Gratitude Crystals.


Setting up the Crystal File

For this RBM, you need two things:

  • A file that can access Batreaux in BiT
  • The target file, saved sometime before placing the Emerald Tablet

With the appropriate setup, activate BiT. Enter Batreaux's house during BiT with the target file selected, then start the target file at the same time as clearing Batreaux's final textbox (which is the sixth textbox after the text option). This RBMs the story flag for meeting Batreaux on a file that doesn't have the tunic yet. Once your file loads, resave it on Skyloft, then continue with your run as usual.

Video forthcoming

Now when you sleep to night during BiT and exit to Skyloft with this file selected, the scattered crystals will appear during nighttime BiT.


Uses for BiT Crystals

There are several scene flags tied to nighttime crystals on Skyloft. Useful RBM tricks that employ these crystals are:


RBM Flags set during Cutscenes


Sometimes, it might be useful to RBM flags that are set during a cutscene that can generally be skipped on Hero Mode by holding 2. This can obviously be done by starting the file right before the flag gets set by watching the cutscene normally, but it would be faster to RBM those flags while skipping the cutscene with holding 2. The following assertions are generally true:

  • You can Reverse BiTWarp into the start of the cutscene if you are saved at a Save Prompt. Then you can get the flags by skipping the cutscene in gameplay. This is generally prefered to the method below if you are saved at a Save Prompt (and RBM is not even involved)
  • You can RBM those flags combined with a Reverse BiTWarp into the load at the end of the cutscene. To do this, start your file after the cutscene starts, then hold 2. You will RBM every flag set by the cutscene while Reverse BiTWarping. Generally you want to make sure that Reverse BiTWarp puts you in bounds. This can be guaranteed by BiTSaving at a statue in the same map as the cutscene before entering it, but this might not be necessary. This is usually the go-to method if you are saved at a statue.
  • You can RBM the flags without Reverse BiTWarping. This requires pressing start then press 2 in a specific two-frame window, pretty late into the fadeout. If you Reverse BiTWarp you are too early, if you don't Reverse BiTWarp but don't have the flags you are too late. This for exemple allows for combining raising the gate of time or obtaining the tunic in a quick maneur while BiTSaving to Skyloft.
  • You can also Reverse BiTWarp without setting the flags, by skipping the cutscene and starting your file at the same time. This is about a 20 frame window. This is generally not very useful.
Last updated 10/17/2020 – azer67