https://gitlab.synchro.net/main/sbbs/-/commit/c3ea9e78cebeb3d36dfd8c18
Modified Files:
xtrn/zmachine/README.md SYSOP.md games.ini getgames.js xtrn/zmachine/test/getgames_test.js
Log Message:
zmachine: games.local.ini, for the games a sysop adds
The catalog getgames.js provisions from ships with the door, so a sysop who added a story file they own would lose the entry to the next upgrade. It is also the wrong file to copy wholesale: it is a curated list that keeps
growing, and a copy taken today never sees a game added later.
So games.local.ini beside it is merged over the catalog by game id rather
than replacing it. The sysop's entries survive an upgrade, the games added upstream still arrive, and an id in both files takes the sysop's version -- which is how a shipped entry gets corrected locally. Shipped order is preserved, with a corrected entry substituted in place and the sysop's own games appended; either file may be absent, and only the absence of both is
an error.
This is merge rather than the selection file_cfgname() does, for the same reason games.ini in the arcade door needed one: selection is right for a
small config a sysop can copy entire, and wrong for a table where copying it freezes the install at the version copied.
Co-Authored-By: Claude Opus 5 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net