Skip to content
Garrett Cox edited this page Sep 11, 2023 · 14 revisions

Rando v2

Check Data conversion

  • merchantPrices, itemLocations unified into current CheckTrackerData structure, to be renamed to CheckData

Convert 3DS rando to utilize SoH data structures (gSaveContext)

  • options
  • inventory
  • check data
  • end goal being live-playthrough instance is plug and play with generation playthrough structures, for easy availability checking

What this might look like in practice

  RandomizerCheck rc = Randomizer_GetRandomizerCheckFromActor(this->actor.params, play->sceneId);

  if (rc.isShuffled()) {
    if (rc.isObtainable() && !rc.isObtained()) {
      this->actionFunc = En_CowIdle;
      rc.obtain();
    } else {
      this->actionFunc = En_CowReturnToIdle;
      this->actor.textId = 0x4011;
    }
  } else {
    this->actionFunc = En_CowCheckEmptyBottle;
  }

Name parity with Archipelago

Come up with a cleaner and more consistent way of branching from vanilla code

Clone this wiki locally