rpynx v0.1.0pre-release

Reference

SD card layout

Every folder and file rpynx uses on the SD card, and which program writes it.

Source docs/INSTALL.md, docs/IMPORTER.md, runtime/renpy/README.md, runtime/main.c
On this page
text
sdmc:/switch/renpy-loader/
├── renpy-loader.nro            the loader
├── runtimes/
│   └── renpy-runtime.nro       CPython 3.12.8 + Ren'Py 8.5.3
├── games/
│   ├── <id>/
│   │   ├── game/               the game's own game/ folder
│   │   │   ├── rsl-nonascii.rpa    files with non-ASCII names, when there are any
│   │   │   └── saves/          a second copy of the game's saves
│   │   ├── manifest.json       written by the importer
│   │   ├── cover.jpg | cover.bmp
│   │   ├── backdrop.jpg | backdrop.bmp
│   │   └── power-saver         optional flag: 30 fps for this game
│   ├── .uploading-<id>/        an FTP upload in progress (hidden)
│   └── .old-<id>/              left only if an FTP rename failed (hidden)
├── saves/<id>/                 the game's saves
├── config/
│   ├── loader.json             layout, backgrounds, accent, help_seen
│   ├── power-saver             optional flag: 30 fps for every game
│   └── controller/
│       ├── global.json         (+ global.json.bak)
│       └── games/<id>.json     per-game profiles
├── logs/
│   ├── loader.log
│   ├── runtime.log
│   └── <id>/                   log.txt, traceback.txt, python.txt
├── cache/                      python-selftest.txt
└── home/                       HOME for Ren'Py's per-user data

Who writes what

PathWritten byNotes
renpy-loader.nro, runtimes/You, or scripts/switch-ftp.sh
games/<id>/The importerFolder names starting with a dot are skipped by the loader
games/<id>/cover.bmp, backdrop.bmpThe loader’s Change pictureAlso updates manifest.json
saves/<id>/Ren’Py, through the runtimeNever touched by the importer
config/loader.jsonThe loader
config/controller/The loader, and the runtime after the emergency combo in a gameEach save keeps the previous file as .bak
logs/The loader, the runtime and Ren’PyKept when a game is deleted
cache/The Python self-test
home/The runtime sets HOME here, so Ren’Py’s per-user data does not land in a folder named ~

Limits

  • An id is at most 63 characters; the loader skips folder names of 64 bytes or more.
  • The loader shows at most 64 games.
  • Non-ASCII names cannot be listed on the Switch’s SD card; see Non-ASCII file names.
  • Files of 4 GiB or more cannot exist on FAT32; the importer warns from 2 GiB.

↑↓ move↵ openesc close