Jump to content

Void: Difference between revisions

2,193 bytes added ,  4 years ago
Fake Sinnoh
>Bbbbbbbbba
(Fact check: Saving and resetting and wrong warping in fact have different mechanics. Also added methods for accessing the void.)
>Bbbbbbbbba
(Fake Sinnoh)
Line 6:
Once in the desired map ID, the player can either directly exploit its map scripts (for example in the [[Retire glitch]]), or save and reset to load the correct MatrixLayout for that map ID. All outdoor maps in Sinnoh share the same MatrixLayout, but the indoor maps all have their own MatrixLayouts. In an indoor MatrixLayout, the player can easily walk towards the "physical" indoor map, and for some maps, the player may be able to bypass the walls surrounding the walkable area from the outside. This is used, for example, to set up the [[Union Room wrong-warping glitch]].
 
Another important aspect of the void is the player's coordinates in the MatrixLayout, which are internally represented by two 32-bit integers, but when saving the game, or storing a location to warp back later, the coordinates are saved as 16-bit integers, signed in the former case and unsigned in the latter case. Normally those are all the same, because valid coordinates are always inside the 0 ~ 32767 range. However, when exploring the void, the player can go to coordinates out of this range, and cause a "[[coordinate warp]]". For example:
* By using the Explorer Kit at (-2, -3), the player can later take a wrong warp to (65534, 65533).
* By saving the game at (65534, 65533) and resetting, the player can go back to (-2, -3).
Line 25:
 
==Collision in the void==
 
==Fake Sinnoh==
-->
==Fake Sinnoh==
A '''fake Sinnoh''' is a region of the void that is exactly a multiple of 65536 tiles away, in one or both cardinal directions, from the real Sinnoh region. Unlike other regions of the void, a fake Sinnoh is not pitch black; instead, the player can visually see the corresponding spot in the real Sinnoh, even though the player's map ID may not match the visual model. Saving and resetting in a fake Sinnoh, while having a map ID corresponding to any outdoor map, would cause [[Wrong warp (Generation IV)#Saving and resetting|an effect similar to a coordinate warp]], putting the player at visually the same spot, but in the real Sinnoh. Other voids (i.e. voids for the indoor maps) also have "fake" versions of the real map.
 
The reason that the visual model "loops" every 65536 steps is that the coordinates of the camera have a precision of 1/65536 of a tile, and are saved as 32-bit integers. This means that the tile position of the camera corresponds to the high 16 bits of those 32-bit integers, and overflows after 65536 steps. Height changes are associated with the visual model, but tile collisions ("walls") are not, so the player can "walk through walls" in a fake Sinnoh. <!-- TODO: Explain height changes, and how it may obstruct the player walking anyway. -->
 
The three fake Sinnohs with coordinate (65536, 0), (65536, 65536), and (0, 65536) have special importance, as they are easy to access with an actual [[coordinate warp]] (usually a Explorer Kit wrong warp) at negative coordinates. Furthermore:
* In the one at (65536, 0), the map ID comes from the Mapdata, so it is easy to manipulate.
* In the ones at (65536, 65536) and (0, 65536), the map ID comes from cutscene data. When booting up the game, if the player allows the intro cutscene to load (by waiting until the black and white "Pokémon" logo appears and the intro music plays), the game will write a lot of 16-bit numbers higher than 558 there, which becomes Jubilife City. This suffices for the purpose of saving and resetting to the real Sinnoh.
 
Therefore, many void routes can be made by simply following the "Explorer Kit wrong warp to fake Sinnoh — Save and Reset near desired destination" formula.
 
==References==
* [https://forums.glitchcity.info/index.php?topic=8499.0 RETIRE's complete guide to voiding]
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.