Skip to content

Repository files navigation

Coffee Talk Access

A screen reader mod for Coffee Talk, supporting both the full game and the demo. It speaks menus, the profile picker, the language picker, name entry, the opening cutscene, story dialogue and the brewing screen through NVDA, JAWS, SAPI or a braille display, and it supplies keyboard navigation for menus that the game otherwise only lets you drive with a gamepad.

Installing

Download the latest release zip from Releases, then:

  1. Install MelonLoader v0.7.1 (x86) into your Coffee Talk folder — the one containing CoffeeTalk.exe. It is normally one of:

    C:\Program Files (x86)\Steam\steamapps\common\Coffee Talk
    C:\Program Files (x86)\Steam\steamapps\common\Coffee Talk Demo
    

    Yours may be on another drive; in Steam, right-click the game → Manage → Browse local files.

    ⚠ Coffee Talk is a 32-bit game. Set the architecture to x86 in the MelonLoader installer, or the mod will not load at all. Confirm afterwards in MelonLoader\Latest.log, which should contain Game Arch: x86.

  2. Run the game once and close it, so MelonLoader creates its Mods folder.

  3. From the zip, copy both files in Mods\ into the game's Mods folder:

    CoffeeTalkAccess.dll
    UnityAccessibilityLib.dll
    
  4. From the zip, copy both files in GameRoot\ into the game's main folder, next to CoffeeTalk.exe:

    UniversalSpeech.dll
    nvdaControllerClient.dll
    

    ⚠ These two must sit next to CoffeeTalk.exe, not in Mods. Put them in Mods and speech will either be silent or quietly fall back to SAPI instead of using NVDA.

  5. Start the game. You should hear "Coffee Talk Access loaded."

The full player guide — every key the mod adds, plus troubleshooting — ships in the zip and is also in package/README.txt.

Building

Requires the .NET SDK and a Coffee Talk install to reference the game assemblies against.

dotnet build CoffeeTalkAccess.csproj -c Release

By default the build deploys straight into the game's Mods folder and copies the native speech DLLs to the game root — both are load-bearing locations, see the comments in CoffeeTalkAccess.csproj. Pass -p:SkipDeploy=true to skip that.

Point the build at a different install with -p:GameDir="<path>".

To produce a distributable zip in dist/:

.\package.ps1

Coffee Talk is a 32-bit game. The native speech DLLs in libs/ must be the x86 builds; package.ps1 checks the PE machine type and refuses to ship a package that gets this wrong, because a 64-bit build fails at the first spoken word and nowhere earlier.

Repository layout

  • src/ — the mod. Main.cs is the MelonMod entry point; the subfolders group patches by the game system they hook (Menus/, Dialogue/, Brewing/, FullGame/, Speech/).
  • docs/PLAN.md — the roadmap, and the file to read first. It says what is next and why.
  • docs/text-sources.md — read before hooking any new screen. Coffee Talk has four or more independent text systems, and a hook on one is invisible to the others; "patched but never fires" usually means the wrong system.
  • project_status.md — verified environment facts and the hard-won rules, each of which cost a live run.
  • package/ — the player-facing install guide.
  • libs/ — the x86 native speech DLLs.
  • tools/verify-hook-targets.ps1 checks the string-bound lookups still resolve against an install; verify-patch-targets.ps1 reads [HarmonyPatch] attributes out of the compiled DLL, so it cannot drift from the code.
  • .retired/ — approaches that were tried and removed, kept so they are not retried.

decompiled/ is not tracked: it holds decompiled game code, which belongs to Toge Productions.

Credits

Speech goes through UnityAccessibilityLib and in turn UniversalSpeech. Patching is HarmonyX under MelonLoader. The game's dialogue engine is Fungus.

Coffee Talk is a game by Toge Productions. This is an unofficial fan-made accessibility mod and is not affiliated with or endorsed by them.

License

GNU Lesser General Public License v3.0 or later — see COPYING.LESSER and COPYING. LGPLv3 is written as a set of additional permissions on top of GPLv3, so both texts together form the license.

This covers the mod's own source in src/. It does not extend to Coffee Talk itself, whose code and assets belong to Toge Productions.

Third-party components

Component Author License
UnityAccessibilityLib LordLuceus MIT
UniversalSpeech (libs/UniversalSpeech.dll) Quentin Cosendey MIT
NVDA Controller Client (libs/nvdaControllerClient.dll) NV Access LGPL v2.1

The two binaries in libs/ are redistributed unmodified under their own terms. Copies of the MIT and LGPL v2.1 texts ship with their respective upstream projects at the links above.

About

Screen reader accessibility mod for Coffee Talk (NVDA/JAWS/SAPI via MelonLoader)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages