# Moan Mod (GNX Port)

A sound mod for Goblin Nest, ported to the GNX framework. Adds moan voices and
h-scene sound effects that load at runtime from this folder — no `data.win`
sprite/asset patching needed for the audio.

## What it adds

- **6 voice banks** (`voice_0`–`voice_5`), 8 clips each. Each captive is assigned
  a bank; a random clip plays as her moan.
- **SFX pools**: orgasm (7), plus oral-cell sounds — slurp (4), gag (4),
  bj_moan (3), breathe (3).
- **Per-class signature voices** via `voice_map`: the named vanilla characters
  get a fixed bank + pitch, matching the original mod. Everyone else gets a
  random bank; captured bosses (level 6–7) always get a random voice.

  | class_id | character | bank | pitch |
  |----------|-----------|------|-------|
  | 8  | Lilith   | voice_1 | 0.91 |
  | 9  | Cow      | voice_4 | 0.88 |
  | 10 | Nyx      | voice_0 | 0.98 |
  | 11 | Giant    | voice_5 | 1.06 |
  | 12 | Morrigan | voice_3 | 0.95 |
  | 13 | Cat      | voice_4 | 1.10 |

  (Character↔id mapping verified against the game's class registry, not the
  older ID table in the docs.)
- An in-game **SOUND settings page** (Settings → SOUND) with 6 sliders: moan
  volume/frequency, orgasm frequency, plap volume, ejaculation volume, BJ volume.
  Choices persist with the save.

## Install

1. Copy the `moan_mod/` folder into `<game>/GNX_mods/`.
2. Launch. The framework loads it automatically (check `gnx_debug.txt` for
   `[GNX] sound system active (banks=6 ...)`).

Requires GNX and game version **1.33**.

## Files

```
moan_mod/
  manifest.json     declares "sounds": "sounds.json"
  sounds.json       voice_banks + sfx + voice_map + settings_defaults
  sounds/           69 .ogg clips
```

## Audio format — important

All clips are **OGG Vorbis** (`.ogg`). GNX loads sounds at runtime with
`audio_create_stream`, which only accepts `.ogg`; `.wav` files fail silently
(the bank ends up empty and nothing plays). The original mod shipped WAVs baked
into `data.win` as native assets; this port converts them to OGG for runtime
loading (`ffmpeg -i in.wav -c:a libvorbis -q:a 5 out.ogg`).

## Credit

Audio content is from the original **Moan Mod** for Goblin Nest by **@Jadwick**
(https://jadwick.dev/mods/moan-mod/). All credit for the voices and SFX goes to
them. This package only re-wires that content to load through the GNX framework
(runtime OGG loading, `voice_map`, and the SOUND settings page). Game by @BadColor.

## Schema reference

For the full `sounds.json` schema (voice_banks, sfx, voice_map,
settings_defaults) see GNX_MODDING.md → §16 Sound System.
