Change key binds from array to linked list

Key bindings were stored as a fixed-size array, indexed by the input
character, pointing to the extended commands.  This changes that into
a linked list of an intermediary struct Cmd_bind, storing the input key
and the pointer to the command.

This is just code cleanup for future enhancements, and should have
no effect on gameplay.
This commit is contained in:
Pasi Kallinen
2026-03-20 17:28:27 +02:00
parent 044a229467
commit c595f241e6
8 changed files with 228 additions and 81 deletions

View File

@@ -1109,6 +1109,7 @@ freedynamicdata(void)
freeroleoptvals(); /* saveoptvals(&tnhfp) */
cmdq_clear(CQ_CANNED);
cmdq_clear(CQ_REPEAT);
cmdbind_freeall();
free_tutorial(); /* (only needed if quitting while in tutorial) */
/* per-turn data, but might get added to when freeing other stuff */