← All news
CammyGhost Grey

Ghost Grey: v1.0.4, and the parts of the ROM the site couldn't see

Ghost Grey is a patched FireRed hack, so half the game was invisible to the extractors. This pass read the rest out of the ROM: gifts and statics, 236 items across 67 locations, the moves its trainers actually use, and the endgame in the order the ROM stages it.

Ghost Grey is a FireRed hack that renumbers its entire dex -- 291 species, alphabetized, with custom mons of its own -- and it ships as a patch, so there is no source tree to read. Every table on the site comes out of the ROM's own bytes, and a lot of what the game does was still invisible to the extractors. This pass went and read the rest of it.

The build we track is v1.0.4

The Ghost Grey pages were rebuilt from v1.0.4: 291 species, 484 moves, 121 evolutions, 527 trainers and 314 items.

Gifts, statics, and the stuff on the floor

The source-based static extractor can never see a patched ROM, so this game published no gift or static encounters at all -- species it hands you had no way to say where you get them. Those are decoded from the ROM now, and item locations came with them: 236 items across 67 locations, 709 links in total -- 193 item balls, 219 hidden items, 120 gifts and 177 rows of shop stock, on Items and on each location's own page.

86 find rows stay out, because their map has no page yet.

Trainers, and the moves the ROM doesn't store

527 trainer rows, 478 of them with a location. Each row is reached by walking the game's own scripts -- map scripts, object scripts, coordinate triggers and background events -- so every row we publish is someone you can actually meet, on their page or from the area you find them in.

Parties had a hole in them. There are 1,518 party slots and the ROM stores moves for only 559 of them; the rest keep no moves at all and let the engine fill them in from the species' learnset at that level. The site used to show nothing for those. It now shows the moves the engine will use -- 924 slots -- labelled as derived, so stored moves and rules-derived moves stay distinguishable.

The endgame, in the ROM's own order

Gym leaders list in badge order now, read from the game's own badge table rather than from the order the data happened to sit in, and the gym-leaders guide is written against that order. The Elite Four and Champion fights came with it: the ROM's own final map stages six fights at Lv. 95-99, and that map is the citation for them -- no league placement is claimed that the data doesn't show.

Three things that were quietly broken

  • A blank portrait withheld a trainer row. Two rows (Presence and Friend!) carry a portrait with zero opaque pixels in the ROM, so the sprite step dropped them entirely. A blank picture no longer costs you the row: it falls back to the ? sprite.
  • A location with more than one map published one map. The Safari Zone is several maps under a single location; every map of a location renders now.
  • On a phone held in landscape, the nav drawer was unusable. Fixed.

One honest note on species data

Ghost Grey renumbers species but only re-authored part of each slot's data. Base stats and typing are the hack's own; egg groups, catch rates and EV yields are whatever the ROM's table holds for that slot, which is often what the slot inherited from vanilla FireRed. Slot 292 is this hack's Gyarados, sitting where FireRed kept Beautifly, so its published egg group is Bug. That is what the game does, so that is what the page says. Where the ROM can't back a number, the page says so rather than borrowing another game's.

Some rows are still withheld where nothing can reach them yet -- 43 trainer rows, 86 item finds and 120 species sitting behind unextracted Pokédex rows. They stay out instead of getting guessed at.