rain bug fix and new engine

This commit is contained in:
2026-10-13 15:00:04 +02:00
parent d28b602827
commit 32dc96ef0f
3 changed files with 182 additions and 100 deletions
+12
View File
@@ -140,6 +140,18 @@ Versions follow `MAJOR.MINOR.PATCH-REVISION_STAGE_N` (e.g. `3.99.1-4_rc_1`).
(they were evaluated as arithmetic expressions); `pwdscore` classifies
characters with locale-proof classes; README default of
`GENPWD_DEFAULT_OCCURS` corrected.
- `rain.sh`: the terminal was left with the last drop colour active, the cursor
parked over the frozen last frame and the user's `INT`/`TERM`/`WINCH` traps
deleted and `stty` forced to `echo`: the screen is now cleared and the traps
and terminal settings restored; a resize now clears the screen and drops
(drops placed for the old size lingered); a drop vanished for one frame each
time another one left the screen; each frame is written with one `printf`
instead of one per character (output is byte-identical, a lot faster);
colour and charset names are case-insensitive (`RAIN_DEFAULT_COLOR=Green`, as
documented, fell back to white), an unknown colour is an error instead of a
silent white, a null speed no longer spins the CPU, a non-terminal stdin or
stdout is refused instead of looping, and the usage mentions `q` to quit;
README defaults of the `[rain]` keys corrected.
- `compress.sh`: option flags and loop variables no longer leak into the
interactive shell.