Open Kanto: the S.S. Aqua, the Kanto gyms, the Magnet Train, Mt. Silver and Red (Closes #33)
All 146 Kanto maps, Route 22, Route 28 and Silver Cave are open. The Magnet Train, Snorlax and the Poké Flute channel, the Diploma, the Trainer House, Bill's grandpa, Oak's Pokédex rating in Pallet and Goldenrod's postgame move tutor are ported; big objects cover 2x2 tiles. The Magnet Train and the Diploma are compared with the cartridge frame by frame. The playthrough continues from the Hall of Fame through the S.S. Aqua, the eight Kanto badges, Oak opening Mt. Silver and Red's defeat and credits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f05fd8ebee
commit
d3be732118
22 files changed
+1877
-31
No files matched your search
+14
-4
@@ -481,7 +481,7 @@ The numbered sections below keep their full scope. Each one opens with a checkli
|
||||
- The radio (`game/scripts/radio.ts`): `PlayRadioShow` and every station frame by frame: Oak's Pokémon Talk (routes, Pokémon, adverbs and adjectives, the Pokémon Channel jingle), the Pokédex Show, Pokémon Music and Let's All Sing (march or lullaby by weekday), the Lucky Channel (with `CheckLuckyNumberShowFlag`), Places and People, Buena's Password (from 6 PM, the day's password; midnight and off-air texts), Team Rocket's broadcast during the takeover, and the Unown, Poké Flute and Lake of Rage stations' music. Lines show for 100 frames and scroll as `PrintRadioLine` and `RadioScroll` do. Station songs become the map music and keep playing after the radio is left, as in the original (`ExitPokegearRadio_HandleMusic`).
|
||||
- The Pokégear's radio card runs every frame: up and down turn the knob by two, `RadioChannels` picks the station the place can hear (Johto, the Ruins, the Lake of Rage area, Kanto with the EXPN card). House radios (`Radio1Script`, `Radio2Script`) run `MapRadio`: the station's name in quotes for 100 frames, then the station until A or B.
|
||||
- Buena's show at the Radio Tower: `AskRememberPassword`, `BuenasPassword` (the category's three words, B disabled) and `BuenaPrize` (prizes and points beside the Blue Card balance, confirm, pay, receive). Tests: `tests/phone.test.ts` (rematches, a random call, no call without a caller, the daily reset, swarms, each station's lines and music, the radio card, a house radio, Buena's password and prizes) and `tests/radio-browser.spec.ts` (the radio card in the browser).
|
||||
- Not ported: the radio card's tuning dial graphics (the frequency is shown as text), holding up or down to turn the knob continuously, the Poké Flute channel waking Snorlax (Kanto is closed), and calls that use the mobile adapter.
|
||||
- Not ported: the radio card's tuning dial graphics (the frequency is shown as text), holding up or down to turn the knob continuously, and calls that use the mobile adapter. The Poké Flute channel wakes Vermilion's Snorlax (board #33, increment B).
|
||||
|
||||
## Implemented: save slots (board #37)
|
||||
|
||||
@@ -495,7 +495,7 @@ The numbered sections below keep their full scope. Each one opens with a checkli
|
||||
## Implemented: MAIL stationery and printer cancellation
|
||||
|
||||
- `ReadAnyMail` now draws all ten stationery types from the ROM, including their color planes, palettes, message/author positions and the mirrored Portrait MAIL picture (Unown A). A/B return; Start opens printing, and B cancels back to the unchanged letter. The accessible message and author remain available with the canvas.
|
||||
- Nonempty Bill's PC boxes, Pokédex PRNT, MAIL and the Photo Studio share `SendScreenToPrinter`'s absent-printer result (`PRINTER_ERROR_2`). A does not dismiss the error; B cancels. Empty boxes still show their original refusal. The print preview, printer music and alternating link-check status are not presented. Unown stamps and the diploma remain unreachable with the unported Unown mode and Kanto maps.
|
||||
- Nonempty Bill's PC boxes, Pokédex PRNT, MAIL and the Photo Studio share `SendScreenToPrinter`'s absent-printer result (`PRINTER_ERROR_2`). A does not dismiss the error; B cancels. Empty boxes still show their original refusal. The print preview, printer music and alternating link-check status are not presented. Unown stamps remain unreachable with the unported Unown mode; the Diploma prints to the same absent printer.
|
||||
- Controlled cartridge comparisons cover all ten stationery tilemaps, used graphics, message/author placement and palettes; the font is loaded separately from ROM. Chromium and mobile WebKit checks cover writing, reading, printing and returning to MAIL. Unit checks cover the four reachable print paths and unchanged stored data.
|
||||
|
||||
## Implemented: Day-Care and breeding (board #29, egg creation)
|
||||
@@ -539,11 +539,21 @@ The numbered sections below keep their full scope. Each one opens with a checkli
|
||||
- Tests: `tests/league.test.ts` (Route 27's first step into Kanto, the gate's badge check, the ceremony's records without Eggs, the paused play time, the 200-win cap and 30 teams, B on the credits, the text-box decoder, the renderer's wrap and row scroll). The playthrough gains five stages: back to Ice Path for HM07, home to New Bark, Route 27, Tohjo Falls' waterfall, Route 26 and Victory Road, Indigo Plateau and the Elite Four, Lance and the Hall of Fame (the driver now fights carefully from here: accuracy-weighed moves, Full Heals for poison, paralysis and burns, healing below two thirds). Test saves: `indigo-plateau`, `hall-of-fame-new-bark`, `hall-of-fame-ceremony`.
|
||||
- Not presented: `ANIM_MON_HOF` (pictures at rest, as in the PC), the credits' first 36 frames of setup are shown white without their exact frame count, the rating text appears whole rather than letter by letter. The Plateau's rival (after Mt. Moon) and Kanto are increments B and C.
|
||||
|
||||
## Implemented: Kanto, Mt. Silver and Red (board #33, increment B)
|
||||
|
||||
- Open: Olivine's and Vermilion's ports and the S.S. Aqua (Elm's S.S. Ticket, the lost girl, the lazy sailor and the captain), all 146 Kanto maps (Vermilion, Saffron and its stations, Cerulean, the Power Plant, Lavender and its Radio Tower, Rock Tunnel, Celadon, Fuchsia, Cinnabar and the Seafoam Gym, Pallet Town and Oak's lab, Viridian, Pewter, Diglett's Cave, Mt. Moon, Cycling Road and every route between them), Route 22, Route 28, Silver Cave and Red. Only the Pokémon Centers' upstairs (the link rooms and the unused beta floors) and the beta Safari Zone stay closed.
|
||||
- `MagnetTrain` (`game/scripts/magnet-train.ts`): the ride both ways, frame by frame (`MagnetTrain_Jumptable`, `MagnetTrain_UpdateLYOverrides`, the player's sprite animation flipped on its last frame, the scrolling bushes and train bands, the extra palette frame and eight frames of teardown); `newloadmap` with `MAPSETUP_TRAIN` arrives at the other station.
|
||||
- `SnorlaxAwake`: the Poké Flute channel left playing on the Pokégear's radio, beside Vermilion's Snorlax (`.ProximityCoords`). Big objects (`BIG_OBJECT`) cover 2×2 tiles for collisions and talking. `Diploma` and `PrintDiploma` (`PlaceDiplomaOnScreen`, with `PREDEFPAL_DIPLOMA`; no printer, B cancels). `TrainerHouse` fights its default trainer, CAL (no Mystery Gift partner). `BillsGrandfather` shows a party Pokémon. `ProfOaksPCBoot` lets Oak rate the Pokédex in Pallet before he opens Mt. Silver for sixteen badges.
|
||||
- `MoveTutor` (`game/scripts/goldenrod.ts`): Goldenrod's tutor on Wednesdays and Saturdays after the League, for 4000 coins, through `ChooseMonToLearnTMHM`'s ABLE/NOT ABLE party menu (an Egg plays SFX_WRONG, an incompatible Pokémon or one that knows the move returns to the menu) and `LearnMove`.
|
||||
- Reference: `tests/reference-magnet-train.spec.ts` runs the cartridge's `MagnetTrain` with interrupts after a boot and compares every frame (OAM, the hSCX bands, BG map and attributes, the icon's tiles and the palettes in CRAM) both ways, for Chris and Kris. `tests/reference-kanto.spec.ts` compares `PlaceDiplomaOnScreen` (tilemap, tiles and palette) for several names and frames.
|
||||
- Tests: `tests/kanto.test.ts` (Snorlax's coordinates, 2×2 block and flute battle; Bill's grandpa's Everstone; the Trainer House's CAL; the Magnet Train both ways; the Diploma and its printer; Oak opening Mt. Silver; the move tutor; the rival in Mt. Moon and at Indigo Plateau on Mondays but not Tuesdays). The playthrough continues with fourteen stages: the S.S. Aqua, the eight Kanto badges in the order Thunder, Marsh, Cascade (with the Power Plant's manager, the Machine Part and Misty's date), Boulder (after the power returns, Rock Tunnel, the EXPN card and Snorlax), Volcano, Soul (Blue on Cinnabar), Rainbow (Cycling Road) and Earth, Oak opening Mt. Silver, training outside Silver Cave, TM26 from Victory Road, and Red with the credits, ending at `SPAWN_MT_SILVER`. Test saves: `vermilion-city`, `saffron-city`, `celadon-city`, `mt-silver`, `red-beaten`.
|
||||
- Not presented: Mystery Gift's Trainer House opponents and printing; the Diploma's B prompt cursor (the page has no ▼).
|
||||
|
||||
## Native battles: current state
|
||||
|
||||
The battle core, ROM tables, encounter hooks, battle UI and whiteout hooks are present. Unit tests cover wins, escape, loss, experience, move learning and capture; reference tests compare damage, type effectiveness, stat calculation and experience curves. Browser tests drive a test-only wild encounter through the real UI: victory with level-up and move learning, escape, whiteout, catching with a nickname, keyboard and on-screen D-pad menu navigation, mid-battle backup restore, rollback of unsupported effects, switching through the party menu and a Potion from the Items pocket. Real Route 29 encounters now use the ROM's encounter tables. Every ball can be thrown; only the contest's Park Ball handling remains.
|
||||
|
||||
This is still not a complete new game. The Pokédex's area view, search and other modes, Kanto and the postgame remain unfinished. The start menu opens the party menu and the pack, and Select uses the registered item, such as the Bicycle; the PCs store Pokémon, items and decorations. Surfing and terrain animation now have native implementations; Kanto's maps remain gated. Save slots, online Link, friends and real-world steps come later.
|
||||
This is still not a complete new game. The Pokédex's area view, search and other modes remain unfinished. The start menu opens the party menu and the pack, and Select uses the registered item, such as the Bicycle; the PCs store Pokémon, items and decorations. Surfing and terrain animation now have native implementations. Save slots, online Link, friends and real-world steps come later.
|
||||
|
||||
## 1. Complete the overworld foundation
|
||||
|
||||
@@ -635,7 +645,7 @@ Acceptance: finish the opening quest, including encounters and the rival battle,
|
||||
- [x] Breeding, eggs and the rest of PC storage (board #29)
|
||||
- [ ] Field moves, gyms, Rocket events, the phone and Pokégear, puzzles, minigames, daily events, roaming Pokémon and the postgame
|
||||
- [x] Johto beyond Route 30: every city, gym, Rocket event, puzzle and minigame to the Rising Badge, Tin Tower, Whirl Islands and the Battle Tower
|
||||
- [ ] The League, Kanto and the final battle
|
||||
- [x] The League, Kanto and the final battle (board #33)
|
||||
- [x] Music and sound through Web Audio (board #34; move animations and minigame sounds remain)
|
||||
- [ ] Acceptance: main-game and postgame playthroughs, battle regression vectors, long sessions and save recovery
|
||||
|
||||
|
||||
Reference in new issue
Block a user