mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-16 00:02:23 +02:00
803f86d5b3
* pop up a fake save * add CI to dev branch * Make ROM-free test tiers actually run on Windows (#267) Suite discovery, the extension-point catalog scan, mod test-dir pickup, and the meta-coverage corpus all shelled out to ls/find/test -d, which do not exist in cmd.exe. Every listing came back empty on Windows, so tiers ran 0 suites and still reported ALL TESTS PASSED. Add portable probes to tests/fs_io.lua (same Unix commands on Linux/macOS; dir /b and a shell-free rename-self existence check on Windows) and rewire the four call sites to them. 15/15 engine suites and 2/2 modkit suites now genuinely run and pass on Windows. Fixes #266 Co-authored-by: johnjohto <johnjohto@users.noreply.github.com> * intro api upgrade (#294) * intro api upgrade * api updates * fix tests * updated templates * android fixes for mods and saves (#297) * Android SCALING fixes (#298) * android fixes for mods and saves * perhaps this is the true scaling android issue fix --------- Co-authored-by: johnjohto <johtoboy@atomicmail.io> Co-authored-by: johnjohto <johnjohto@users.noreply.github.com>
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` |
|