adding meta files
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# Old Man Glitch Decoder
|
||||
|
||||
A single-file, dependency-free recreation of **Old Man Name Generator 2**, a
|
||||
Pokémon Red/Blue/Yellow tool originally hosted on Glitch City Laboratories
|
||||
and long since offline (recovered from an Internet Archive Wayback Machine
|
||||
capture). Type a 7-character trainer name and see what the in-game "Old Man
|
||||
glitch" would actually encounter with it.
|
||||
|
||||
## What it does
|
||||
|
||||
In Gen 1, walking away from the Old Man in Viridian City right after he
|
||||
"shows you how to catch a Pokémon" can trigger a glitch encounter built from
|
||||
raw bytes of your trainer's name:
|
||||
|
||||
- Positions **3, 5, and 7** of the name are each read as a Pokémon species
|
||||
byte.
|
||||
- Positions **2, 4, and 6** are each read as that encounter's level byte.
|
||||
- Position **1** is never read — it has no effect on the outcome.
|
||||
|
||||
The species comes from Gen 1's internal character/index table: every
|
||||
nameable character (A–Z, a–z, digits, and a handful of symbols) has a raw
|
||||
byte value from 128–255, and that same byte doubles as a species ID. The
|
||||
"level" isn't computed at all — it's printed as the identical raw byte
|
||||
value, which is why these encounters always show absurd levels (128–255)
|
||||
instead of the normal 1–100.
|
||||
|
||||
## Usage
|
||||
|
||||
Open `index.html` directly in a browser. There's no build step, no server,
|
||||
and no external requests — the page is fully self-contained.
|
||||
|
||||
## Files
|
||||
|
||||
| Path | Purpose |
|
||||
|---|---|
|
||||
| `index.html` | The app. CSS and JS are inlined directly into the page (see [Inlining](#why-inlined) below), so this one file is all you need to run or share it. |
|
||||
| `app.css` / `app.js` | Human-readable, unminified source of the styles/script that are inlined into `index.html`. Edit these, then re-minify and re-inline into `index.html` when publishing a change. |
|
||||
| `data/charmap.json` | The full character → Gen 1 byte value → species lookup table, generated from the source spreadsheet. Source of truth for `app.js`'s inlined data. |
|
||||
| `data/charmap.min.json` | Minified copy of the same table. |
|
||||
| `CHANGELOG.md` | Release history. |
|
||||
| `LICENSE` | GPLv3. |
|
||||
|
||||
### Why inlined?
|
||||
|
||||
`index.html` bundles its CSS and JS inline rather than loading `app.css`
|
||||
and `app.js` as separate requests. For a page this small, that trades
|
||||
per-file browser caching for fewer round trips — worth it on a slow
|
||||
connection for a single-visit tool like this one, at the cost of editing
|
||||
convenience (hence keeping the unminified sources alongside it).
|
||||
|
||||
## Data source / credits
|
||||
|
||||
- Character-to-species mapping derived from the internal Gen 1 index table
|
||||
(`Decimal` / `R/B/Y Pokémon` / `R/B/Y Letter` columns).
|
||||
- Logic reverse-engineered from the archived "Old Man Name Generator 2"
|
||||
page, originally by Abwayax and the Glitch City Laboratories team.
|
||||
|
||||
## License
|
||||
|
||||
GPLv3 — see [LICENSE](LICENSE).
|
||||
Reference in New Issue
Block a user