Skip to content

Releases: ObjectInSpace/hear-her-story

Hear Her Story 0.5.0

Choose a tag to compare

@ObjectInSpace ObjectInSpace released this 04 Oct 18:19

Screen-reader accessibility mod for Sam Barlow's Her Story.

Two downloads this time:

  • HearHerStory-0.5.0.zip: for everyone. Self-contained, so MelonLoader and the NVDA client are bundled. Extract it into the game folder and play.
  • HearHerStory-0.5.0-slim.zip: only if you already run MelonLoader for this game. It contains the mod and support files. Read the HearHerStory-README.txt inside it before installing.

What changed in 0.5.0

The end-game chat is now spoken

The chat window that opens near the end of the game had no speech at all. Now:

  • Each message is read as a whole. The game draws one message as several wrapped lines, and the mod joins them back together.
  • When you are asked something, the mod reads the answers the game accepts, grouped into yes answers and no answers. Type a whole answer and press Enter. The game matches a partial entry anywhere inside an answer, not only at the start, so "y" alone can match a no.
  • Your typing is echoed letter by letter, the same way the search box works.
  • The game silently refuses any key that does not continue an accepted answer. A refused key now says so, and names the letters that would be accepted, such as "q not accepted. Next letter can be e or o".
  • Ctrl+T in the chat reads the whole conversation so far, plus the accepted answers when the game is waiting for one.

A direct path between the search box and the results

  • Down arrow in the search box moves to the results. You return to the result you were last on. The search box has always told you to press Down arrow, but until now the key did nothing there.
  • Up arrow on a result goes back to the search box.
  • Tab now goes in this order: search box, results, toolbar, then everything else. Favourites no longer come between the search box and the results.
  • Arriving on the search box or a result no longer adds a group name and item count before the label.

Install

  1. Extract the full archive into your Her Story folder, next to HerStory.exe, and let it merge with what is there.
  2. Run HerStory.exe.

That is the whole install. Do not install MelonLoader separately, because the full bundle includes a rebuilt file it needs (see below).

To upgrade from 0.4.x, extract over the top and let it overwrite. Only Mods\HearHerStory.dll has changed.

What is bundled

Component Purpose Full Slim
MelonLoader v0.7.3 Open-Beta (net35) Mod loader, with version.dll injector yes no
MelonLoader\net35\Tomlet.dll Rebuilt, required (see below) yes yes
Mods\HearHerStory.dll The mod yes yes
UserLibs\UnityAccessibilityLib.dll Accessibility support library yes yes
UniversalSpeech.dll Speech output yes yes
nvdaControllerClient.dll NVDA support yes yes

Why a rebuilt Tomlet.dll

Stock Tomlet fails on the old version of Mono that Unity 5.0.1 uses: TomlSerializationMethods' static constructor cannot resolve a generic type and throws TypeLoadException. MelonBase.RegisterCallbacks() touches MelonPreferences, so this makes every mod fail to register, and nothing is written to the log. The bundled build removes the generic constraint that causes it.

The slim bundle ships this file too. If you install it over a stock MelonLoader, you must let it overwrite Tomlet.dll, or the mod will not load. If MelonLoader later auto-updates, it may restore the stock file; extract the archive again to fix that.

Screen reader support

NVDA works out of the box. If you use JAWS, Dolphin or System Access, copy your screen reader's client file (jfwapi.dll, dolapi32.dll or SAAPI32.dll) next to HerStory.exe. Without one, speech falls back to SAPI without any warning, which is easy to mistake for working output.

Controls

  • Down arrow from the search box goes to the results. Up arrow from a result goes back.
  • Arrow keys move within a group, Tab moves between groups, and Ctrl+Tab moves between windows.
  • Backtick repeats the last announcement.
  • Ctrl+T reads the transcript, or the conversation in the chat window. Ctrl+P reports progress. Ctrl+D adds the clip to favourites.
  • Esc stops a clip. Ctrl+J turns spoken captions on and off. Ctrl+K repeats the current caption.
  • F8 checks which focusable controls can be activated.

Verifying the install

MelonLoader\Latest.log should contain:

1 Mod loaded.
[Hear_Her_Story] Speech ready.

Hear Her Story 0.4.2

Choose a tag to compare

@ObjectInSpace ObjectInSpace released this 16 Aug 19:11

Screen-reader accessibility mod for Sam Barlow's Her Story.

Self-contained — nothing else to install. MelonLoader and the NVDA client are bundled. Extract into the game folder and play.

What changed in 0.4.2

Fixes the settings window's subtitles and glare toggles, which were broken in two ways at once.

They were not actually changing. Both are Unity Toggles, which carry no Button, so activating one fell through to the mod's synthetic-click path. That path fired both a pointer click and a submit event, on the assumption that a control implements one or the other. Toggle implements both, and each one flips isOn — so a single keypress turned the setting on and straight back off. The setting never changed and the glare effects never applied. This affected mouse-free play only; the toggles were fine with a mouse.

They never announced their new state. Flipping a toggle does not move focus, so nothing spoke again — the state was read correctly on arrival and then went silently stale. The only way to hear a setting was to leave the control and come back to it. Activating a stateful control now speaks its new value.

Version strings are also brought back into line: the mod reported 0.4.0 in 0.4.1, and the project file still said 0.1.0.

Install

  1. Extract the archive into your Her Story folder, next to HerStory.exe, letting it merge.
  2. Run HerStory.exe.

That is the whole install. Do not install MelonLoader separately — this bundle includes a build it needs (see below).

Upgrading from 0.4.1: extract over the top and let it overwrite. Only Mods\HearHerStory.dll differs.

What is bundled

Component Purpose
MelonLoader v0.7.3 Open-Beta (net35) Mod loader, with version.dll injector
MelonLoader\net35\Tomlet.dll Rebuilt — required, see below
Mods\HearHerStory.dll The mod
UserLibs\UnityAccessibilityLib.dll Accessibility support library
UniversalSpeech.dll Speech output
nvdaControllerClient.dll NVDA support

Trimmed to the net35 runtime this game uses, so it is 7.6 MB rather than 43 MB.

Why a rebuilt Tomlet.dll

Stock Tomlet fails at type-init on Unity 5.0.1's old Mono: TomlSerializationMethods' static constructor cannot resolve a generic typespec and throws TypeLoadException. Because MelonBase.RegisterCallbacks() touches MelonPreferences, this cascades into every mod registration failing — silently, with nothing logged. The bundled build removes the offending constraint.

Installing stock MelonLoader over this bundle will reintroduce the bug. MelonLoader.dll itself is unmodified; only Tomlet.dll differs. See MelonLoader\MODIFICATIONS.txt.

Screen reader support

NVDA works out of the box. JAWS, Dolphin, or System Access users should copy their own client (jfwapi.dll, dolapi32.dll, SAAPI32.dll) next to HerStory.exe — without one, speech falls back silently to SAPI, which is easy to mistake for working output.

Controls

  • Arrows move within a group, Tab between groups, Ctrl+Tab between windows
  • Backtick repeats the last announcement
  • Ctrl+T transcript, Ctrl+P progress, Ctrl+D favourite
  • Esc stop clip, Ctrl+J toggle spoken captions, Ctrl+K repeat caption
  • F8 audits which focusable controls can be activated

Verifying the install

MelonLoader\Latest.log should contain:

1 Mod loaded.
[Hear_Her_Story] Speech ready.

Hear Her Story 0.4.1

Choose a tag to compare

@ObjectInSpace ObjectInSpace released this 16 Aug 18:58

Screen-reader accessibility mod for Sam Barlow's Her Story.

Self-contained — nothing else to install. MelonLoader and the NVDA client are bundled. Extract into the game folder and play.

Install

  1. Extract the archive into your Her Story folder, next to HerStory.exe, letting it merge.
  2. Run HerStory.exe.

That is the whole install. Do not install MelonLoader separately — this bundle includes a build it needs (see below).

What is bundled

Component Purpose
MelonLoader v0.7.3 Open-Beta (net35) Mod loader, with version.dll injector
MelonLoader\net35\Tomlet.dll Rebuilt — required, see below
Mods\HearHerStory.dll The mod
UserLibs\UnityAccessibilityLib.dll Accessibility support library
UniversalSpeech.dll Speech output
nvdaControllerClient.dll NVDA support

Trimmed to the net35 runtime this game uses, so it is 7.6 MB rather than 43 MB.

Why a rebuilt Tomlet.dll

Stock Tomlet fails at type-init on Unity 5.0.1's old Mono: TomlSerializationMethods' static constructor cannot resolve a generic typespec and throws TypeLoadException. Because MelonBase.RegisterCallbacks() touches MelonPreferences, this cascades into every mod registration failing — silently, with nothing logged. The bundled build removes the offending constraint.

Installing stock MelonLoader over this bundle will reintroduce the bug. MelonLoader.dll itself is unmodified; only Tomlet.dll differs. See MelonLoader\MODIFICATIONS.txt.

Screen reader support

NVDA works out of the box. JAWS, Dolphin, or System Access users should copy their own client (jfwapi.dll, dolapi32.dll, SAAPI32.dll) next to HerStory.exe — without one, speech falls back silently to SAPI, which is easy to mistake for working output.

Controls

  • Arrows move within a group, Tab between groups, Ctrl+Tab between windows
  • Backtick repeats the last announcement
  • Ctrl+T transcript, Ctrl+P progress, Ctrl+D favourite
  • Esc stop clip, Ctrl+J toggle spoken captions, Ctrl+K repeat caption
  • F8 audits which focusable controls can be activated

Verifying the install

MelonLoader\Latest.log should contain:

1 Mod loaded.
[Hear_Her_Story] Speech ready.
[Hear_Her_Story]   screen reader clients present: nvdaControllerClient.dll

If the last line reads NONE, no screen-reader client was found and speech will fall back to SAPI.

Verified

Tested by extracting into a clean, unmodified copy of Her Story 1.1 (Unity 5.0.1f1, Mono x86) with no prior MelonLoader install: loader bootstrapped, mod initialized, 271 clips loaded, focus announcements and playback confirmed working.

Notes

Game and engine assemblies are not redistributed. MelonLoader is by Lava Gang under Apache-2.0 (MelonLoader\Documentation\). nvdaControllerClient.dll is NVAccess's, under NVDA's GPL licensing.

Hear Her Story 0.4.0

Choose a tag to compare

@ObjectInSpace ObjectInSpace released this 16 Aug 18:36

Screen-reader accessibility mod for Sam Barlow's Her Story.

Install

Requires MelonLoader installed against Her Story (the game runs the net35 loader).

Extract the archive into the Her Story game folder — the paths in the zip line up with the install layout:

From the zip Goes to
Mods\HearHerStory.dll Mods\
UserLibs\UnityAccessibilityLib.dll UserLibs\
MelonLoader\net35\Tomlet.dll overwrites the stock Tomlet.dll
UniversalSpeech.dll game root, beside HerStory.exe
nvdaControllerClient.dll game root, beside HerStory.exe

Why Tomlet.dll is replaced

Stock Tomlet fails at type-init on Unity 5.0.1's old Mono: TomlSerializationMethods' static constructor cannot resolve a generic method signature and throws TypeLoadException. Because MelonBase.RegisterCallbacks() touches MelonPreferences, this cascades into every melon registration failing — silently, with nothing logged. The included build removes the offending constraint, which is a smaller and more contained fix than working around the lookup.

The stock MelonLoader.dll needs no changes; only Tomlet.dll is replaced.

Screen reader support

nvdaControllerClient.dll (NVDA, from NVAccess) is included so speech reaches NVDA directly. Without a vendor client present, UniversalSpeech falls back silently to SAPI — which is easy to mistake for working speech. JAWS, Dolphin, or System Access users should add their own client (jfwapi.dll, dolapi32.dll, SAAPI32.dll) to the game root.

Both native DLLs are 32-bit, matching the game's runtime.

Verifying the install

MelonLoader's Latest.log should show:

Hear Her Story v0.4.0
[Hear_Her_Story] Speech ready.
[Hear_Her_Story]   screen reader clients present: nvdaControllerClient.dll

If that last line reads NONE, the controller client is not in the game root and speech will fall back to SAPI.

What is in this build

  • Focus tracking and spoken announcements across the desktop UI
  • Clip library navigation and search box handling
  • Configurable key bindings — arrows move within a group, Tab between groups, Ctrl+Tab between windows
  • Optional focus survey diagnostics behind the --hhs-survey command-line flag

Notes

Game and engine assemblies are not redistributed. nvdaControllerClient.dll is NVAccess's, distributed under NVDA's GPL licensing.