Dark Spaces Breakthrough

Another breakthrough I’d like to share with y’all 🙂

I’ve been spending the morning trying to figure out how Dark Spaces work. Here’s what I’ve found so far:

It seems like there are three configurations for Dark Spaces. These configuration codes are passed in the event table whenever the Dark Space event (a9 d6 88) is called:

  • 01 = no character transformation
  • 03 = can transform into Fredan and/or Shadow
  • 05 = grants a special ability

If 05 is passed, the event looks to an ability table @8eb5a, which contains six tuples specifying the map from which the Dark Space is entered, and the ability that is granted in the Dark Space. Here’s the existing code block with annotation:

  • 15 01 >> Map 15 (21) grants Psycho Dash (bit 0)
  • 62 02 >> Map 62 (98) grants Psycho Slide (bit 1)
  • 86 04 >> Map 86 (134) grants Spin Dash (bit 2)
  • 42 10 >> Map 42 (66) grants Dark Friar (bit 4)
  • a7 20 >> Map a7 (167) grants Aura Barrier (bit 5)
  • b8 40 >> Map b8 (184) grants Earth Quaker (bit 6)

When an ability is granted, the text boxes that are called refer to another couple of tables, one that prints the name of the ability, and the other that prints the ability’s explanation:

@8eb8f – pointers to ability names (6 addresses):

  • 9b eb >> “Psycho Dash”
  • a2 eb >> “Psycho Slider”
  • ab eb >> “Spin Dash”
  • b2 eb >> “Dark Friar”
  • ba eb >> “Aura Barrier”
  • c7 eb >> “Earthquaker”

@8ebd3 – pointers to ability explanations (6 addresses):

  • df eb >> Psycho Dash explanation
  • 66 ec >> Psycho Slider explanation
  • ea ec >> Spin Dash explanation
  • 6d ed >> Dark Friar explanation
  • f2 ed >> Aura Barrier explanation
  • 8b ee >> Earthquaker explanation

Understanding all this, we can make the Dark Space in South Cape grant us the Dark Friar ability through the following modifications:

  1. Change the Dark Space configuration from 01 to 05 in the event table (@c830a)
  2. Change the fourth entry in the Ability Table to refer to Map 01 instead of Map 42 (@8eb60)
  3. Change the fist entry in the Ability Name and Ability Explanation tables to point to Dark Friar (respectively, change @8eb8f to “b2” and @8ebd3 to “6d”)

Further work: There has to be a table somewhere else that indexes the ability names and explanations to the maps somehow. Rearranging the address pointers in the tables themselves is a clunky way to do it, but it works for the time being.

Also, the Dark Space that grants you the Aura at the Pyramid entrance seems to be a complete anomaly. It even calls a completely separate event (68 b6 88). I intend to look into this at some point as well.

Lastly, I don’t know how the game decides whether Shadow shows up in Dark Spaces or not. It’s probably a switch condition I haven’t found yet.

Published by DontBaguMe

I like game randomizers. So much so, I decided to make one.

Join the Conversation

  1. Unknown's avatar
  2. DontBaguMe's avatar

2 Comments

  1. Based on some quick testing, Shadow becomes a valid transformation target after you talk to Neil in Dao, the same conversation that opens the Pyramid as a destination. Once that flag is triggered, every Dark Space that allows transformations will have both Freedan and Shadow in it.

    This is reasonable behavior in the incredibly linear context of the vanilla game, but can lead to dubiously amusing situations in a hack. If you teleport yourself into the Pyramid without talking to Neil, a confused but stalwart Gaia gives you the Aura Ball as usual, and implores you to stand before a statue that doesn’t exist. If you talk to Neil and then backtrack to Angkor Wat or the Great Wall, you’ll meet Shadow there for the first time; “I’ve been waiting for you to come,” he says perplexingly.

    Liked by 1 person

    1. Lol yup. In the randomizer, I actually set that Neil flag upon acquisition of the Aura, so once you find the Aura you have access to Shadow. I tried to see if there was a way to unlock the Firebird ability early, but it appears to be an event tied to the final map itself. Fighting Dark Gaia as Will or Fredan grants you the same attack 🙂

      Like

Leave a comment

Design a site like this with WordPress.com
Get started