Parallel Universe: Difference between revisions

Floats are not infinite
mNo edit summary
(Floats are not infinite)
Tags: Mobile edit Mobile web edit
Line 1: Line 1:
[[File:ParallelUniverseViews.jpg|thumb|A diagram of Parallel Universe movement in [[Hazy Maze Cave]], after [[Mario]] has returned to the main map.]]
[[File:ParallelUniverseViews.jpg|thumb|A diagram of Parallel Universe movement in [[Hazy Maze Cave]], after [[Mario]] has returned to the main map.]]


A '''Parallel Universe''', or '''PU''', is a region of space located far outside the intended map boundaries that reflects certain aspects, especially the floors and/or ceilings, of the main map. When the game looks for floors below (or ceilings above) a given object, it first "truncates" the object's position from a floating point value to a 16-bit integer value. While the range of a floating point value is infinite, the range of a 16-bit integer value is -2<sup>15</sup> = -32,768 to 2<sup>15</sup> - 1 = 32,767. If a coordinate of the object's position falls outside this range, it "wraps around". For example, if one of these floating point values is 40,000, then 40,000 - 65,536 = -25,536 will be used when determining if the object is aligned with a floor or ceiling. This gives the illusion that the floors and ceilings of the main level map are "copied" repeatedly in a uniform 3D grid, at a spacing of 65,536 units.
A '''Parallel Universe''', or '''PU''', is a region of space located far outside the intended map boundaries that reflects certain aspects, especially the floors and/or ceilings, of the main map. When the game looks for floors below (or ceilings above) a given object, it first "truncates" the object's position from a floating point value to a 16-bit integer value. The range of a floating point value is much larger than the range of a 16-bit integer value (which is -2<sup>15</sup> = -32,768 to 2<sup>15</sup> - 1 = 32,767). If a coordinate of the object's position falls outside this range, it "wraps around". For example, if one of these floating point values is 40,000, then 40,000 - 65,536 = -25,536 will be used when determining if the object is aligned with a floor or ceiling. This gives the illusion that the floors and ceilings of the main level map are "copied" repeatedly in a uniform 3D grid, at a spacing of 65,536 units.


[[File:Visible PU.png|thumb|184x184px|Frame of [[Peter Fedak|Peter Fedak's]] video where he turns Parallel Universes visible using hacks; notice the lack of [[objects]]|left]]
[[File:Visible PU.png|thumb|184x184px|Frame of [[Peter Fedak|Peter Fedak's]] video where he turns Parallel Universes visible using hacks; notice the lack of [[objects]]|left]]