Brock through walls: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
>Bbbbbbbbba
(HELP. I cannot tell what is concise and what is confusing.)
>Sherkel
(It's plenty concise. Good question about the Rattata sprite, though.)
Line 1: Line 1:
{{bulbapedia2|Pewter Gym skip glitch#"Brock Through Walls"}}
{{bulbapedia2|Pewter Gym skip glitch#"Brock Through Walls"}}
'''Brock Through Walls''' ('''path manipulation walk through walls''') is a [[walk through walls]] glitch in {{RGBY}}. It is popular in speedrunning Pokémon Red and Blue.
'''Brock Through Walls''' ('''path manipulation walk through walls''') is a [[walk through walls]] glitch in {{RGBY}}. It is popular in speedruns of Pokémon Red and Blue. It is possible to perform this glitch very early in the games (except in {{Y}}, as the Youngster cannot be skipped in this version).


The "walk through walls" [[GameShark]] code has always been fun and useful to people. Contrary to popular belief, a similar effect is possible without the use of a [[game-altering device]] via a glitch. It is possible to perform the "Brock Through Walls" glitch very early in the games (except in {{Y}} because the Youngster cannot be skipped in this version).
"Walk through walls" [[GameShark]] codes have always been fun and useful to people, but a similar effect is now possible without the use of a [[game-altering device]].


There are many ways to set up this glitch, but the glitch is ultimately triggered by talking to the Pewter City Youngster from the right.
There are many ways to set up this glitch, but it is ultimately triggered by talking to the Pewter City Youngster from the right instead of the left, which was not intended to be possible.


As it shouldn't be possible to talk to the Youngster from the right, the developers never programmed a path for the player to follow when the player is right of the Youngster. When talking to him, the game looks for the player's coordinates but often never finds them, resulting in a softlock.
The developers never programmed an alternate path for the player to follow when the player is to the right of the Youngster. When talking to him, the game looks for the player's coordinates but often never finds them, usually resulting in a softlock.


However, the player can manipulate some values in the RAM to spell out the player's coordinates, (0x10, 0x24). The coordinates need to appear at address xxx2, xxx6, xxxA, or xxxE to "align" with the lookup table. When this happens, the game will use the next two bytes as a path pointer.
However, the player can manipulate certain values in the RAM to spell out the player's coordinates, (0x10, 0x24). The coordinates need to appear at address xxx2, xxx6, xxxA, or xxxE to "align" with the lookup table. When this happens, the game will use the next two bytes as a path pointer. (Otherwise, the aforementioned softlock occurs.)


Certain paths may overwrite the memory address $CD38, which allows the player to override the scripted movement by holding down a button, and walk through walls, similar to what happens in the glitch [[walk through walls trick (museum guy method)]].
Certain paths may overwrite the memory address $CD38, which allows the player to override the scripted movement by holding down a button, and walk through walls in whatever path he ir she chooses, similar to what happens when using the [[museum guy method|walk through walls trick (museum guy method)]].


==Setup==
==Setup==
Line 16: Line 16:
The easiest way to be able to talk to the Youngster from the right is to perform a method of the [[Pewter Gym skip glitch]]. After performing the glitch, simply walk right to Route 3, then go back to the Pewter City map to reload the Youngster.
The easiest way to be able to talk to the Youngster from the right is to perform a method of the [[Pewter Gym skip glitch]]. After performing the glitch, simply walk right to Route 3, then go back to the Pewter City map to reload the Youngster.


The player can also skip Pewter Gym through another means such as a wrong warp by manipulating item 36's quantity (exit destination) in the [[expanded items pack]]. It is not easy to get an expanded items pack before defeating Brock, but it is possible, for example by:
The player can also skip Pewter Gym through another means such as a wrong warp by manipulating item 36's quantity (exit destination) in the [[expanded items pack]]. It is not easy to get an expanded items pack before defeating Brock, but it is possible. Some possible methods would include:
* Using the [[Cable Club escape glitch]] to encounter a [[Missingno.]]
* Using the [[Cable Club escape glitch]] to encounter a [[Missingno.]]
* Trading a Pokémon with [[- (move)|"-" as the first move]] from Red/Blue to Yellow, and use "-" corruption to corrupt the enemy Pokémon into a Missingno.
* Trading a Pokémon with [[- (move)|"-" as the first move]] from Red/Blue to Yellow, and use "-" corruption to corrupt the enemy Pokémon into a Missingno.
After using Missingno. item duplication to manipulate an item quantity to 255, [[dry underflow]] can be performed.
After using Missingno. item duplication to manipulate an item quantity to 255, [[dry underflow]] can be performed.


A third possibility is to first defeat Brock, and later use another glitch to corrupt the "defeated Brock" event flag back to 0.
A third possibility is to first defeat Brock, and later use another glitch to set the "defeated Brock" event flag back to 0.


===Setting up "0x10 0x24" in RAM===
===Setting up "0x10 0x24" in RAM===
Line 30: Line 30:
* It must be level 8.
* It must be level 8.
* It must be the '''last''' Pokémon in your party.
* It must be the '''last''' Pokémon in your party.
* It must know exactly three moves:
* It must know exactly three moves. Additionally:
** The second move's PP must be exactly 16.
** The second move's PP must be exactly 16.
** The third move's PP must be exactly 36.
** The third move's PP must be exactly 36.
Line 39: Line 39:
{{researchneeded|Why the "no Rattata mini-sprite" requirement?}}
{{researchneeded|Why the "no Rattata mini-sprite" requirement?}}
{{clr}}
{{clr}}
Another setup may be faster, especially if the starter happen to have the required 16 Special:
Another setup may be faster, especially if the starter happens to have the required 16 Special:
* The first Pokémon's Special stat should be 16.
* The first Pokémon's Special stat should be 16.
* The second Pokémon should be a Pidgey with 15 HP left.
* The second Pokémon should be a Pidgey with 15 HP left.
* However, there should be no Rattata mini-sprite in the first two positions, or else the game will softlock.
* However, there should be no Rattata mini-sprite in the first two positions, or else the game will softlock.
This setup will put "10 24 00 0F" at $D196 ~ $D199.
This setup will write "10 24 00 0F" to $D196 ~ $D199.


====Japanese {{RGB}}====
====Japanese {{RGB}}====
Line 58: Line 58:
As mentioned above, the glitch works by tricking the game into loading an invalid path for the player to follow, which overwrites $CD38.
As mentioned above, the glitch works by tricking the game into loading an invalid path for the player to follow, which overwrites $CD38.


The game never seem to intentionally set $CD38 to any nonzero value, but its effect is to allow certain joypad inputs to override scripted movement. And it is very generous: As long as the player is holding down any of the specified buttons, the entire joypad input is accepted. For example, if the B button is able to override, then the player can simple hold down the B button to be able to walk in any direction or to stay put.
The game never seems to intentionally set $CD38 to any nonzero value, but its effect is to allow certain joypad inputs to override scripted movement. It is very generous: As long as the player is holding down any of the specified buttons, the entire joypad input is accepted. For example, if the B button is able to override, then the player can simple hold down the B button to be able to walk in any direction or to stay put.


Of course, the point of this whole setup is that the player will be able to walk through walls and NPCs, just like in any scripted movement (except for the [[Get stuck in a wall|last]] [[Walk on water through Surf|step]]).
Of course, the point of this whole setup is that the player will be able to walk through walls and NPCs, just like in any scripted movement (except for the [[Get stuck in a wall|last]] [[Walk on water through Surf|step]]).

Revision as of 19:02, 22 March 2019

Bulbapedia also has an article about Brock through walls.

Brock Through Walls (path manipulation walk through walls) is a walk through walls glitch in Pokémon Red, Green, Blue, and Yellow. It is popular in speedruns of Pokémon Red and Blue. It is possible to perform this glitch very early in the games (except in Pokémon Yellow, as the Youngster cannot be skipped in this version).

"Walk through walls" GameShark codes have always been fun and useful to people, but a similar effect is now possible without the use of a game-altering device.

There are many ways to set up this glitch, but it is ultimately triggered by talking to the Pewter City Youngster from the right instead of the left, which was not intended to be possible.

The developers never programmed an alternate path for the player to follow when the player is to the right of the Youngster. When talking to him, the game looks for the player's coordinates but often never finds them, usually resulting in a softlock.

However, the player can manipulate certain values in the RAM to spell out the player's coordinates, (0x10, 0x24). The coordinates need to appear at address xxx2, xxx6, xxxA, or xxxE to "align" with the lookup table. When this happens, the game will use the next two bytes as a path pointer. (Otherwise, the aforementioned softlock occurs.)

Certain paths may overwrite the memory address $CD38, which allows the player to override the scripted movement by holding down a button, and walk through walls in whatever path he ir she chooses, similar to what happens when using the walk through walls trick (museum guy method).

Setup

Getting past the Youngster

The easiest way to be able to talk to the Youngster from the right is to perform a method of the Pewter Gym skip glitch. After performing the glitch, simply walk right to Route 3, then go back to the Pewter City map to reload the Youngster.

The player can also skip Pewter Gym through another means such as a wrong warp by manipulating item 36's quantity (exit destination) in the expanded items pack. It is not easy to get an expanded items pack before defeating Brock, but it is possible. Some possible methods would include:

After using Missingno. item duplication to manipulate an item quantity to 255, dry underflow can be performed.

A third possibility is to first defeat Brock, and later use another glitch to set the "defeated Brock" event flag back to 0.

Setting up "0x10 0x24" in RAM

There are multiple methods to set up "0x10 0x24" in a suitable location in RAM. Some common setups are describes below.

International Pokémon Red and Blue

Have a Pokémon meeting the following requirements:

  • It must be level 8.
  • It must be the last Pokémon in your party.
  • It must know exactly three moves. Additionally:
    • The second move's PP must be exactly 16.
    • The third move's PP must be exactly 36.

Once this is done, viewing the Pokémon party screen (also known as "flashing" the Pokémon party) will copy the data "10 24 00 08" to $CFB6 ~ $CFB9. (Notice that the path pointer is small endian, so this will use $0800 as the path pointer.)

A popular choice for this Pokémon is the starter Bulbasaur, which starts with Tackle (35 PP) and Growl (40 PP), and learns Leech Seed at level 7 (as the first move).

More research is needed for this article.

Reason given: Why the "no Rattata mini-sprite" requirement?



Another setup may be faster, especially if the starter happens to have the required 16 Special:

  • The first Pokémon's Special stat should be 16.
  • The second Pokémon should be a Pidgey with 15 HP left.
  • However, there should be no Rattata mini-sprite in the first two positions, or else the game will softlock.

This setup will write "10 24 00 0F" to $D196 ~ $D199.

Japanese Pokémon Red, Green, and Pokémon Blue (Japanese)

  • Have a Rattata (or any Pokémon with the same mini-sprite) in the third party slot.
  • Have a Charmander (or any Pokémon with the same mini-sprite) in the fourth party slot.

Once this setup is done, flash the Pokémon menu at least once.

Procedure

Once the player stands on the tile right from the Youngster and completed the "0x10 0x24" setup:

  1. Talk to the Youngster, and close his dialog.
  2. You will walk automatically and the menu should keep popping up. Hold B when the menu is closed to walk around in any direction.

Explanation

As mentioned above, the glitch works by tricking the game into loading an invalid path for the player to follow, which overwrites $CD38.

The game never seems to intentionally set $CD38 to any nonzero value, but its effect is to allow certain joypad inputs to override scripted movement. It is very generous: As long as the player is holding down any of the specified buttons, the entire joypad input is accepted. For example, if the B button is able to override, then the player can simple hold down the B button to be able to walk in any direction or to stay put.

Of course, the point of this whole setup is that the player will be able to walk through walls and NPCs, just like in any scripted movement (except for the last step).

Guide music in a building sub-glitch

If the player walks into Pewter Museum with this glitch active, it is possible for the guide music to remain playing.

YouTube video by ChickasaurusGL


Video Demonstration

YouTube video by ChickasaurusGL


See also

External links