Anonymous user
Retire glitch: Difference between revisions
Jump to navigation
Jump to search
m
fixed minor typos
>RETIRE No edit summary |
>Map233224 m (fixed minor typos) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 2:
[[File:Retire void.png|thumb|right|300px|RETIRE appearing in the void]]
The '''Retire glitch''' (also known as the '''Pal Park Retire glitch''') is a [[glitch derivative]] of [[Tweaking]]. It was documented by Ganix, formerly known as Cryo, on January 10, 2017.
By entering the [[
It also sets a flag that accounts for the Encounters, making sure you can only encounter '''wild''' Pokémon (on
The '''RETIRE''' glitch occurs when pressing the RETIRE function.
The sourcecode shown was provided by Ganix.
int StartMenu_RETIRE(int wptr)
It first checks for flag 0x967, a flag set when entering the Great Marsch,▼
{
int wdata;
int wmenu;
int flagptr;
wdata = GetOverworldDataAddress(wptr);
wmenu = GetOverworldStruct(wptr);
//-----------------------------------------------------------------------
// Close the start menu
//-----------------------------------------------------------------------
Function_2035718(wmenu);
Function_200ccf8(wmenu, 1);
Function_201ac68(*wmenu, *(wmenu + 4));
Function_2019178(wmenu);
Function_20358a0(wptr);
flagptr = LoadFlagAddress(*(wdata + 12));
//-----------------------------------------------------------------------
// Check if the Great Marsh flag (0x967) is set.
//-----------------------------------------------------------------------
if (CheckFlag(flagptr, 0x967))
{
//---------------------------------------------------------------------
// When script 0x2275 is run, it asks if you want to exit Great Marsh.
//
// Answering YES clears flag 0x967 and quits the Safari game.
//---------------------------------------------------------------------
RunScript(wptr, 0x2275u, 0);
}
//-----------------------------------------------------------------------
// Pal Park's flags SHOULD have been explicitly checked here, but the
// fact that they weren't is why the RETIRE glitch is possible.
//-----------------------------------------------------------------------
else
{
//---------------------------------------------------------------------
// While script 0x2275 references a defined script number, lower
// numbers such as this reference scripts relative to the current map's
// script runtime.
//
// scripts in runtime from a map then goes to a defined script. This means
// that the script is based on what map you use the menu in, and what the
// 4th script is.
//---------------------------------------------------------------------
RunScript(wptr, 4, 0);
}
free(wmenu);
return 0;
}
if set, it runs script 0x2275 and asks to leave the Safari Zone.
Line 45 ⟶ 100:
Killscript
In this case, pressing YES would warp you to Map
Once out of bounds, you can use it in any map you'd like, running 4th script in runtime in any Map.
A year later an alternative was found by glitchologist Aera (yem), called alt-RETIRE.
By transfering 6 Pokémon from gen 3 and being in '''Pal Park mode''', then catching all 6, the game would run 3rd script un runtime.
Line 85 ⟶ 140:
Since the flag set by the mapscript made the game ignore all encountertables to only encounter the transfered Pokémon, this meant you could call 3rd script in runtime too. At the time, it wasn't quite that useful since it was limited to areas where we could find grass/water, and a small area in the void called 'Black Sinnoh', where these tiles are naturally read from RAM.
A year later
The glitch is most known for its use in the Hall of Origin, which allows for the player to battle Arceus.
|