Repository navigation
Releases: joashchee/coupler
Release list
Coupler 0.48.0
- Sound comes back after the narrator on the iPad (2026-10-26): in
the web build on an iPad, the loops, music and sound effects could go
silent for good once the narrator first spoke. iOS stops the sound
for the system's voice; Coupler now starts it again a moment after
each line ends (iOS takes a moment to let go), and a touch anywhere
starts it too (it listened for the start of a touch, which iOS
doesn't count, and Coupler's own keyboard on the iPad sends no keys). - The colors badge follows ANSI 256 and ANSI TRUE (2026-10-26):
the game writes its answer on the prompt's line (<20Hp> ANSI 256 colour enabled.), and Coupler read it only at the start of a line,
so gear → Pictures… and the pictures stayed at 16 colors. Both builds. - Reminders when you're hungry, thirsty, fatigued or stinky
(2026-10-26): Coupler says "You're hungry and thirsty." as soon as a
need begins, and again every 5 minutes while any lasts, never in a
fight. The game says hunger and thirst only now and then, and never
says fatigue or smell unasked. Spoken by the narrator, or written as
Coupler's own line. Both builds, the phone and the tablet. - A Stats table (2026-10-26): gear → Tables… → Stats holds
everything the game's STAT can tell of each character (hit points
and their most, the six abilities and their bases, the saving throws,
armor, attack and damage in words, experience, quest points, trains,
practices, alignment, and more), read by Coupler quietly when you
come in, when your level changes and every quarter of an hour,
without showing in the output.#check statssays the main ones and
reads them again. Both builds. - The Mixer says a level once it's set (2026-10-26): let go of a
slider (or stop pressing the arrows) and 2 seconds later "Sound
effects at 40 percent." is said and shown, not every step of a drag. - #help lists Coupler's commands (2026-10-26): every command with
its words and what it does, a line each, in the output; only the
names are said.#help checksays one command. - Disconnections (2026-10-26): when the connection ends and you
didn't leave, Coupler says the likely cause (the game shut down, logged
you out for being idle, this device was asleep, the network dropped,
or the game closed it without a word) and offers what it saw in the
last moments: how it ended, when the game was last heard from, the
lines sent lately (never a password), the GMCP lately and the game's
last lines, to copy into a report. Every ending is kept in gear →
Tables… → Disconnections, each row's Show… opening its findings. A
QUIT or Hang Up offers nothing. Both builds.
Unsigned: Windows' SmartScreen warns until the installers are code-signed.
Coupler 0.45.0
- Open and Close on the tablet's pad (2026-10-26): the two empty
corners at the pad's left are Open (top) and Close (bottom). Press
one, then a way: Open then W sends OPEN WEST. Pressed, it's yellow and
says so to VoiceOver; pressed again it lets go. - Loot collected (2026-10-26): when you win a fight and AUTOLOOT
(or AUTOGOLD) takes things off the body, the narrator says "Loot
collected." once instead of every item, and Immersive leaves those
lines out of the output. Each thing goes in the Loot table. LOOK LOOT
or #check loot says just what the last fight brought. Both builds. - Tables (2026-10-26): gear → Tables… (Cmd+Shift+T; the phone's
Here sheet) shows Coupler's tables (Loot) and your own: make one with
a name and up to five columns, add rows there or with #add, delete
rows, clear Loot. #check and a table's name says it. Kept for each
world on this machine, in a Coupler Backup and in gear → Storage….
Both builds. - Coins sound like coins (2026-10-26): money got, looted, dropped,
given, put away, deposited, withdrawn, borrowed, paid or bid plays
CoffeeMUD's Coins, as buying and selling do. It's its own event, "you
handle coins", in the hooks list, for a sound of your own. Both
builds.
Unsigned: Windows' SmartScreen warns until the installers are code-signed.
Coupler 0.43.0
- Pictures in more colors (2026-10-25): when you have the game send
you 256 colors or true color (ANSI 256, ANSI TRUE), Coupler's painter
follows: skies and land are smooth gradients, night is shadow instead
of a checkerboard, and the dithers in rooms, faces, items and The
Fight show as the colors they stand for. Sparse textures (cobbles,
grass) are kept. 16 until the game says otherwise; remembered across
launches; gear → Pictures… says which. Both builds, the phone and the
tablet. - The web build fetches a sound again on failure (2026-10-25): a
sound from the mirror that fails (seen on the iPhone with the bank's
wind) is fetched once more past the browser's cache, and the message
says why it failed if it still does.
Unsigned: Windows' SmartScreen warns until the installers are code-signed.
Coupler 0.42.0
- The iPhone's web screen, made for its size (2026-10-25): in the
web build on an iPhone the menu bar is one row (no icon or name;
Explore or Combat, a dot for online or offline, Quit, Where, Map,
Mixer), Choose how to play is one column, and You reads HP, MN and MV
with bars five characters wide, each character a quarter step. The
lower part is now in the game output's own text size: Coupler's
phone keyboard (numbers, three rows of letters with Backspace, Shift,
the arrows and Return, then Esc, Ctrl, Opt, Cmd, Space and the
command prefix), whose keys show bigger above the finger and type on
lifting it, so a finger can slide to the right key; and fewer touch
controls, the size of the text. The dev build tries it from the gear
menu (iPhone Web Screen, for Testing). The phone app's Choose how to
play is one column too. - The Fight at the top left (2026-10-25): in every way to play, and
on the tablet, The Fight now comes up at the screen's top left.
Unsigned: Windows' SmartScreen warns until the installers are code-signed.
Coupler 0.41.0
- Faces in The Fight on the iPhone (2026-10-24): the strip above
the touch pad is now the room you're fighting in with the two of you
in it, your face at the left and the foe's at the right, drawn small
for the phone (not shrunk: each kind of face has its own small
drawing, so the eyes still show), angry, hurt and in pain as the
fight goes, with the jolt, the flash and a new foe sliding in. The
words sit between the faces: your health, bar, mana and moves, the
clock or the result, what's on you, the foe's hurt, bar and health.
It's eight rows; with pictures off (gear → Pictures…) it stays the
four rows of words.
Unsigned: Windows' SmartScreen warns until the installers are code-signed.
Coupler 0.33.1
- No more blue screen on the iPhone (2026-10-23): the map panel was
the one part of the screen not asked whether the layout has it, and
Workshop (the default) with the map open (also the default) put it on
the phone, whose layout has no place for it: the screen failed to
draw past the in-development notice, in the web build on an iPhone
and in the iPhone app. The map now shows only where the layout has it.
Unsigned: Windows' SmartScreen warns until the installers are code-signed.
Coupler 0.32.1
- No more blue screen in Workshop (2026-10-23): Workshop shows
everything the player hasn't hidden, and that took in the iPhone's
touch pad, which no desktop layout places: the screen failed to draw
past the in-development notice, in the web build (Safari and Chrome)
and for anyone new to Workshop on the desktop. The phone's own parts
(PHONE_ONLYinApp.tsx) are never on a desktop screen now.
Unsigned: Windows' SmartScreen warns until the installers are code-signed.
Coupler 0.32.0
-
The account menu lists your characters (2026-10-23): CoffeeMUD
writes the list on the prompt's own line (Command or Name (?): Name Race …), so its header was never recognized and the dialog said
Reading your characters… for good.account.rsnow reads past the
prompt, a header cut short by a narrow wrap (Nam Rac Leve), a row
wrapped onto a second line by(email)or(post), and a list the
prompt ends with no total. -
Coupler's own look is silent (2026-10-23): once the answer to its
unobtrusive look begins, every line is gagged until the game's prompt
comes back, so a line the Bestiary's reader doesn't follow (equipment
on one line, an odd health line) no longer slips into the terminal. -
LOOK says the room too (2026-10-23): a plain LOOK (LOOK, LOO, LO,
L) has the narrator say the room's description, as LL does, with the
hidden details the last long look at that room found; the room's
title is found on the prompt's line too, where it often comes.
Priority Audio's item is now "A look at the room". -
Pictures in the Bestiary (2026-10-23): Show… has the creature's
face or the item beside the facts, 25 by 12 cells (25 by 24 painter
pixels, 200 by 192), by Coupler's painter. A face (face.rs): a person, a beast,
a bird, a scaled head, a bug, a skull or a being of fire, stone or
slime by its race's category; colors, beards, scars, eye patches,
horns, tusks, glowing eyes and old age from its description and name;
what it wears on its head, neck, ears, eyes, mouth, torso and back.
An item (item_art.rs): one of 52 kinds by the word in its name
(weapons, armor and clothes, jewelry, potions, scrolls and books,
containers, food, coins, gems, keys, lights, instruments, tools,
rocks; a bundle otherwise), in its name's colors and what EXAMINE
says it's made of. What the game writes after an item's name is kept
(item_auras) and drawn on it: glowing (a halo, red, blue, purple or
white for the auras), a magical aura (sparks), a metallic or mithril
aura (glints), invisible (half seen through), hidden (in shadow),
floating or flying (lifted over its shadow), bound (a chain). Its
slot is written on the picture's bottom row, centered (where it was
seen worn, else where its kind goes, else Carried), and the facts
say both in words. -
The release build runs on Python 3.9 again (2026-10-23):
scripts/third-party-licenses.pyno longer passesnewline=to
Path.write_text, which needs 3.10 (Xcode'spython3is 3.9). -
The Bestiary (2026-10-23, gear → Bestiary…, Cmd+Shift+B): every
creature and every item you come across in a game, and all you learn
of each as you play, kept quietly on this Mac. A creature: the areas
it's found in and, in each, its level (from CONSIDER, beside your
own), its hit points (from a fight) and its alignment (glowing red
or blue); its race, read from its name until a long look says it;
its size, body and description from a LOOK or LL; the abilities it
uses, known by the lines CoffeeMUD prints for them (about 1,100 from
the game's source), and from them what it seems to be (a Mage, a
Cleric…); what it drops and what it wears; how often you've seen it
die. An item: where it lies, its level, weight and material from
EXAMINE, its description, and who dropped or wore it. Search finds a
name, a race or material, or an area; Show… says everything known,
a fact a line. Kept in Coupler Backup. -
Every way to play sounds the same (2026-10-23): the cues,
Coupler's voice and all of Immersive's audio now play in Terminal and
Workshop too; the ways differ only in what's on the screen. Workshop's
sound layers (now on unless you turn one off) are its own choice.
Cues…, Narrator's Answers… and Priority Audio… are in the gear menu in
every way. With a screen reader, VOX at 0 in the Mixer gives the
game's lines back to it. -
Coupler looks for you, if you like (2026-10-23): ticked in the
Bestiary, Coupler looks at each creature you've never looked at, once,
with LOOK … UNOBTRUSIVELY (the room isn't told), when a command of its
own would go unnoticed and never in a fight, and keeps what it sees
without showing it. Off at first. -
What a body tells (2026-10-23): EXAMINE at a creature's body gives
its level (exact at 18 intelligence, a range below) and its weight;
any look at a body lists what it carried. The game shows no race on a
body, so that still comes from a long look or the name. -
Hooks, the same in every way to play (2026-10-23): Hooks…,
Mixer… and Music Editor… are in the gear menu in Terminal, Immersive
and Workshop alike. Triggers already played the same in all three;
now each can set them, their volumes and their music. -
Creatures' cries (2026-10-23): a creature of a kind
coffeemud.sf2 has a voice for (humanoid, goblinoid, giant-kin,
canine, beasts, birds, reptiles, insects, the undead, dragons,
elementals, constructs) cries as it comes into the room, as a fight
with it starts, and as it dies, by its race in the Bestiary. Each is
Coupler's own paircoupler.creature("canine fights"), all 36 in
the hooks list from the start and in CoffeeMUD's Sounds' Creatures,
for a sound of your own. -
CoffeeMUD's Sounds, a tab of the Hooks list (2026-10-23): every
pair CoffeeMUD's sounds play for while you've set none, in groups
(places, weather, combat, magic, creatures, nature, doors and locks,
comings and goings, everyday doings, crafting, socials, your
character): each terrain's loop (the woods by day and by night), each
weather's, the battle loop, every sound the game names and every one
of Coupler's own events, with its volume and what's laid under it.
Where your own sound takes its place (on the pair, or a room type's
background noise for its terrains), a green bullet and its name;
how many rooms have their own background noise. Play tries the
default; Edit… opens the hook editor on its pair.
Unsigned: Windows' SmartScreen warns until the installers are code-signed.
Coupler development build
A build between versions, from 563a8de: everything since Coupler 0.28.0 (CHANGELOG.md's Unreleased). Unsigned, and not offered by Coupler's update check.
coffeemud.sf2 0.1.0
CoffeeMUD's sounds as a SoundFont (CC0), shipped in Coupler. SHA-256: 5ba53593e2662414c21796c11da22e4a270b5f4b7e111acf50e972c563195ed2