scroll-1.20250228: TODO
scroll fails to build from source on Debian because
https://hackage.haskell.org/package/ncurses fails to
build. The workaround is to patch that library with
this patch:
--- ncurses-0.2.16.orig/lib/UI/NCurses/Enums.chs 2016-08-28 21:09:37.000000000 -0400
+++ ncurses-0.2.16/lib/UI/NCurses/Enums.chs 2025-02-28 15:18:09.215809399 -0400
@@ -195,7 +195,6 @@
, hsncurses_KEY_UNDO = KEY_UNDO
, hsncurses_KEY_MOUSE = KEY_MOUSE
, hsncurses_KEY_RESIZE = KEY_RESIZE
-, hsncurses_KEY_EVENT = KEY_EVENT
};
#endc
I have informed its author about the problem and he did not want to fix it.
So, it would probably be best to migrate away from ncurses. A start has
been made in commit 4b5a597a5de090d1418b96aedd37bf044e3c05e9. Another
reason to do this is to get scroll running compiled to WASM in a web
browser.
Add a bonus level with:
Front side, a NanoGenMo generated novel. (It's possible that some of
the current levels would qualify, if I'd only written them in November!)
Back side, my joeywiki/code/scroll/thoughts.mdwn. (This contains
a spoiler for scroll, which fits very thematically with scroll's first
level containing its license..)
For spells with only 1 component, add a letter frequency table, and make
the charmap be constructed by picking a letter with the desired frequency
that is not otherwise used. This adds a different sort of randomness to the
game.
I've had 2 reports of it crashing after winning the game, with:
scroll: ./Data/Vector/Generic/Mutable.hs:590 (read): index out of bounds (6,6)
The typescript fileG0A3Np on clam should show this happening.
as should filecobD95 and fileOlHEMR on elephant.
"Game exploded when I maximized the terminal window." -- tmp/fileBQE03e
"I think I went into a dream while stunned, and came out permenantly
stunned." -- tmp/filehgwH0C on clam
Casting a spell should only use 1 of each spell component even when
multiple are swallowed. This would allow stacking spells (eg, "new new x")