mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-16 00:02:23 +02:00
be90e5b42c
* intro api upgrade * api updates * fix tests * updated templates
44 lines
1.3 KiB
Markdown
44 lines
1.3 KiB
Markdown
# Silly Oak Intro Example
|
|
|
|
Hooks Oak's NEW GAME speech: extra questions, sprite swaps (Oak, rival,
|
|
player, MEW, and a custom Toast Kid pic), and answers stored in `mod.save`.
|
|
|
|
## Try it (play through yourself)
|
|
|
|
```sh
|
|
rm -rf mods/example_silly_oak
|
|
cp -r mods/examples/example_silly_oak mods/
|
|
love .
|
|
```
|
|
|
|
Then **NEW GAME** and mash A / pick the menus. Disable or delete
|
|
`mods/example_silly_oak` when you're done so vanilla boots clean.
|
|
|
|
## Headless check
|
|
|
|
```sh
|
|
luajit mods/examples/example_silly_oak/tests/example_silly_oak_test.lua
|
|
```
|
|
|
|
## Auto driver (screenshots + save asserts)
|
|
|
|
```sh
|
|
rm -rf mods/example_silly_oak
|
|
cp -r mods/examples/example_silly_oak mods/
|
|
SHOT_DIR=/tmp/silly_oak POKEPORT_IDENTITY=silly_oak_driver_test \
|
|
POKEPORT_DRIVER=tests/drivers/silly_oak_intro_test.lua POKEPORT_SPEED=8 love .
|
|
```
|
|
|
|
`POKEPORT_IDENTITY` keeps this run's save out of your normal slot.
|
|
|
|
## What it demonstrates
|
|
|
|
| Seam | Where |
|
|
|---|---|
|
|
| `hooks:wrap("intro.oak_speech.build")` | `main.lua` — reshape the step list |
|
|
| `mod.ui.insertStepAfter` / `insertStepBefore` | `main.lua` — anchored on vanilla step ids |
|
|
| step kinds `say` / `yesno` / `choice` | `main.lua` |
|
|
| pics: `"oak"`, `"rival"`, `"player"`, pokemon, custom image | `main.lua` |
|
|
| `events:on("intro.oak_speech.answered")` | `main.lua` → `mod.save` |
|
|
| `events:on("intro.oak_speech.finished")` | `main.lua` |
|