Initial commit: DeathWatch, an Elden Ring death counter for OBS

Reads the game's process memory read-only (AOB signature scanning,
re-resolved every tick — never a cached pointer) and serves a live
death counter as a browser-source overlay plus a status panel.

Supports co-op: each player runs the program locally, one acts as
hub. The peer link is authenticated (HMAC challenge/response, no
token on the wire, constant-time compare) but not yet encrypted —
see CLAUDE.md's TODO section for the planned TLS+pinning split.

Zero external dependencies — including a hand-rolled WebSocket
implementation — so the whole thing ships as one .exe.
This commit is contained in:
emmatherock committed 2026-09-17 21:10:22 -03:00
commit e1f7e6f529
18 files changed
+3690

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
{
"_language": "Español",
"overlay.deaths": "muertes",
"overlay.boss": "jefe",
"overlay.offline": "sin conexión",
"overlay.waiting": "esperando al juego…",
"overlay.you": "Vos",
"overlay.partner": "Compañero",
"panel.title": "Elden Ring",
"panel.subtitle": "Death Counter · lectura en vivo",
"panel.total": "Total muertes",
"panel.raw": "Leído del proceso",
"panel.slot": "Slot de guardado",
"panel.boss": "⚔ En combate contra jefe",
"panel.partners": "Compañeros",
"panel.obsUrl": "URL para OBS (Browser Source)",
"panel.copy": "Copiar",
"panel.copied": "Copiado",
"panel.copyManual": "Seleccioná y copiá",
"panel.obsHint": "Pegá esta URL en una fuente Navegador de OBS. Fondo transparente, se actualiza sola mientras esta ventanita de consola siga abierta.",
"panel.build": "Compilación",
"status.connecting": "Conectando…",
"status.waitingGame": "Esperando a que abras Elden Ring…",
"status.menu": "Elden Ring abierto — menú o pantalla de carga",
"status.live": "En vivo — leyendo Elden Ring",
"status.noServer": "Sin conexión con el programa local",
"peer.playing": "jugando",
"peer.menu": "en el menú",
"peer.offline": "sin conexión"
}