120 lines
3.9 KiB
Markdown
120 lines
3.9 KiB
Markdown
# Accessibility mod — Sulphur Memories: Alchemist
|
||||
|
|
|
|||
|
|
Blind-accessibility mod adding screen-reader speech, an object tracker, tile
|
|||
|
|
exploration and directional wall tones.
|
|||
|
|
|
|||
|
|
Speech goes through **Tolk**, so it uses your running screen reader (NVDA, JAWS,
|
|||
|
|
System Access) and falls back to SAPI 5 if none is running.
|
|||
|
|
|
|||
|
|
## Running
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
"C:\Program Files\LOVE\love.exe" "D:\code\Sulphur Memories Alchemist 0.4.2 sanctified"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Use `lovec.exe` instead of `love.exe` to get a console window — every spoken line
|
|||
|
|
is mirrored there, which is useful for reporting bugs.
|
|||
|
|
|
|||
|
|
The TTS libraries live in `accessibility/lib/` and are loaded by absolute path,
|
|||
|
|
so nothing needs installing or copying into Program Files.
|
|||
|
|
|
|||
|
|
If speech does not work, check the console for the startup self-test:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
[accessibility] TTS: available
|
|||
|
|
[accessibility] speech channel: yes
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
`speech channel: NO` means Tolk loaded but found no screen reader and no SAPI.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Keys added by the mod
|
|||
|
|
|
|||
|
|
All of these are **in addition to** the game's own controls, and none of them
|
|||
|
|
replace a key the game uses.
|
|||
|
|
|
|||
|
|
### Reading the message log
|
|||
|
|
|
|||
|
|
| Key | Action |
|
|||
|
|
|---|---|
|
|||
|
|
| `[` | Previous message |
|
|||
|
|
| `]` | Next message |
|
|||
|
|
| `Shift+[` | Oldest message |
|
|||
|
|
| `Shift+]` | Newest message (and resume following new messages) |
|
|||
|
|
| `\` | Repeat the current message |
|
|||
|
|
| `Shift+\` | Copy the current message to the clipboard |
|
|||
|
|
|
|||
|
|
New messages are spoken automatically. Pressing any key that does something in
|
|||
|
|
the game cancels whatever is still queued, so you are never stuck listening to a
|
|||
|
|
backlog. While you are moving through the history, new messages do **not** drag
|
|||
|
|
the cursor away — press `Shift+]` to return to the newest.
|
|||
|
|
|
|||
|
|
### Looking around
|
|||
|
|
|
|||
|
|
| Key | Action |
|
|||
|
|
|---|---|
|
|||
|
|
| `/` | Scan all eight neighbouring tiles, clockwise from north |
|
|||
|
|
| `;` | Where am I — area name, in-game date and time, coordinates |
|
|||
|
|
| `Ctrl` + numpad `1`–`9` | Describe the tile in that direction without moving |
|
|||
|
|
| `Ctrl` + numpad `5` | Describe the tile you are standing on |
|
|||
|
|
|
|||
|
|
The game's own examine mode (**`x`**) is also fully spoken: the arrow keys move a
|
|||
|
|
cursor around the map and each tile is described with its distance and direction
|
|||
|
|
from you. Press `f` in examine mode to jump between exits.
|
|||
|
|
|
|||
|
|
### Object tracker
|
|||
|
|
|
|||
|
|
Finds everything you have seen, sorted by distance.
|
|||
|
|
|
|||
|
|
| Key | Action |
|
|||
|
|
|---|---|
|
|||
|
|
| `Ctrl+PageUp` / `Ctrl+PageDown` | Previous / next **category** |
|
|||
|
|
| `PageUp` / `PageDown` | Previous / next **kind** of thing in that category |
|
|||
|
|
| `Shift+PageUp` / `Shift+PageDown` | Previous / next **instance** of that kind |
|
|||
|
|
| `Home` | Distance, direction, and number of steps by path |
|
|||
|
|
|
|||
|
|
Categories: Creatures, Items, Alchemy, Interactables, Exits, Terrain features.
|
|||
|
|
|
|||
|
|
So `Ctrl+PageDown` to reach "Creatures", `PageDown` to move between rat / beetle
|
|||
|
|
/ guard, and `Shift+PageDown` to step through the individual rats. `Home` gives
|
|||
|
|
you the walking distance, which indoors is often very different from the
|
|||
|
|
straight-line distance.
|
|||
|
|
|
|||
|
|
The tracker only ever reports things you have actually seen.
|
|||
|
|
|
|||
|
|
### Your character
|
|||
|
|
|
|||
|
|
| Key | Action |
|
|||
|
|
|---|---|
|
|||
|
|
| `'` | Health and active effects |
|
|||
|
|
| `,` | Currently selected action |
|
|||
|
|
|
|||
|
|
You are also told automatically when you take damage or are healed.
|
|||
|
|
|
|||
|
|
### Wall tones
|
|||
|
|
|
|||
|
|
Each step you take, a tone sounds from the direction of any wall within five
|
|||
|
|
tiles, positioned in 3D so you can hear where it is. Further walls are louder.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Reporting problems
|
|||
|
|
|
|||
|
|
Run with `lovec.exe` and include the console output. Lines beginning `[speech]`
|
|||
|
|
show exactly what was spoken and when:
|
|||
|
|
|
|||
|
|
- `[speech]!` — interrupted whatever was being said
|
|||
|
|
- `[speech]*` — urgent alert, spoken immediately
|
|||
|
|
- `[speech] ` — queued normally
|
|||
|
|
|
|||
|
|
If something is **silent that should not be**, that is the most useful thing to
|
|||
|
|
report, together with the screen you were on and the key you pressed.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## For developers
|
|||
|
|
|
|||
|
|
See `accessibility/docs/` — start with `docs/README.md`, and read
|
|||
|
|
`docs/scratch.md` first if you are picking the work up mid-stream.
|