<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pokeyellow.git/engine/warp_menu.asm, branch master</title>
<subtitle>Pokemon Yellow disassembly with SL0P mods: fastboot, SECRET SL0P WARP MENU, custom intro splash</subtitle>
<id>https://git.sl0p.foo/pokeyellow.git/atom/engine/warp_menu.asm?h=master</id>
<link rel='self' href='https://git.sl0p.foo/pokeyellow.git/atom/engine/warp_menu.asm?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/'/>
<updated>2026-07-15T00:01:51Z</updated>
<entry>
<title>menu: SL0P MENU scaffolding with WARP as a submenu</title>
<updated>2026-07-15T00:01:51Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-15T00:01:51Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=849fc45bc57e9a1f85c4fa98103ec04991406627'/>
<id>urn:sha1:849fc45bc57e9a1f85c4fa98103ec04991406627</id>
<content type='text'>
Refactor the flat warp menu into a table-driven top-level SL0P MENU opened by
SELECT. Each entry = a name in SlopMenuText + a routine in SlopMenuHandlers;
handlers return carry set (a warp was started, exit) or clear (back to the
menu). Ships two entries:
  WARP -&gt; WarpSubmenu (the 13-destination town list)
  HEAL -&gt; SlopHealParty (restore party HP + clear status), demoing an action
Shared open/close display handling (hide sprites, single-space flags, wTileMap
push, restore). Add an entry by appending a name+handler and bumping
SLOP_MENU_COUNT. (renamed engine/warp_menu.asm -&gt; engine/slop_menu.asm)
</content>
</entry>
<entry>
<title>warp: center the menu box and add a SECRET SL0P WARP MENU banner</title>
<updated>2026-07-14T23:09:06Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-14T23:09:06Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=1d4a4f754467a5972f577b80cdead10fba71de10'/>
<id>urn:sha1:1d4a4f754467a5972f577b80cdead10fba71de10</id>
<content type='text'>
Two centered title lines above a horizontally-centered box (moved to col 3,
row 2; cursor/items shifted to match). Cursor alignment verified.
</content>
</entry>
<entry>
<title>warp: polish menu (clear bg + hide sprites), 13 destinations, kill the bird</title>
<updated>2026-07-14T23:06:16Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-14T23:06:16Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=9eeda257644a91fdd1fd21993ad1bb84dcacd676'/>
<id>urn:sha1:9eeda257644a91fdd1fd21993ad1bb84dcacd676</id>
<content type='text'>
- Hide the overworld behind the menu: wUpdateSpritesEnabled=$ff + ClearSprites
  + ClearScreen so no map tiles or NPCs bleed through.
- Single-space the list via BIT_SINGLE_SPACED_LINES + BIT_DOUBLE_SPACED_MENU
  (restored on exit) so all 13 fly destinations fit: the 11 towns + Route 4 +
  Route 10 (every map with FlyWarpData coords).
- No more bird: don't set BIT_USED_FLY (teleport-in instead of fly-in), and
  redirect _LeaveMapAnim's .flyAnimation to the plain warp-pad fade. Verified 0
  sprites active through the warp transition.
</content>
</entry>
<entry>
<title>warp: full quick-warp menu (B2)</title>
<updated>2026-07-14T22:47:51Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-14T22:47:51Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=32933002c9c0dbca782f9e976b9648a639a0cc25'/>
<id>urn:sha1:32933002c9c0dbca782f9e976b9648a639a0cc25</id>
<content type='text'>
SELECT in the overworld now opens a drawn town list (Pallet..Indigo) with a
moving cursor; A warps to the highlighted town via the fly-warp machinery, B
cancels. WarpMenu draws its box into wTileMap then replicates the tail of
DisplayTextIDInit (CopyScreenTileBufferToVRAM + hWY=0 + LoadFontTilePatterns +
hAutoBGTransferEnabled) so the menu is actually pushed to the screen - without
it the box drew into the shadow buffer but the overworld's direct-to-VRAM
scrolled map left it invisible. HandleMenuInput drives selection; the chosen
index maps through WarpMapTable to a map id.
</content>
</entry>
<entry>
<title>warp: SELECT opens quick-warp (B1) + relocate intro-skip to PlayIntro</title>
<updated>2026-07-14T22:37:04Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-14T22:37:04Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=cbd75bcf8a14a647469e6e89c9c8a816fff9bc10'/>
<id>urn:sha1:cbd75bcf8a14a647469e6e89c9c8a816fff9bc10</id>
<content type='text'>
- home/overworld.asm: SELECT in the overworld farcalls WarpMenu, then restarts
  the overworld loop so the fly-warp flags get processed.
- engine/warp_menu.asm (new): WarpMenu reuses the fly-warp machinery
  (wDestinationMap + BIT_FLY_WARP/BIT_USED_FLY). B1 warps to Pallet
  unconditionally to validate the hook; the real destination menu is next.
- Moved the fastboot intro-skip out of home/init.asm into PlayIntro (bank 10)
  to reclaim ~10 bytes of home ROM0 for the overworld hook. Net boot behavior
  is unchanged; new-game path still shows the intro.
</content>
</entry>
</feed>
