Subj : src/doors/syncconquer/door/door_io.c To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Sat Jul 11 2026 04:50:47 https://gitlab.synchro.net/main/sbbs/-/commit/bdd485515c8db099897fc76a Modified Files: src/doors/syncconquer/door/door_io.c Log Message: syncalert: merge REDALERT.INI instead of clobbering it door_setup_engine_paths() rewrote the per-user REDALERT.INI from scratch on every launch with only a [Paths] section. That wiped the engine's own persisted settings (music/sound volume, etc.) each session, and left [Intro] PlayIntro absent -- so it defaulted true, Special.IsFromInstall stayed true, and the door auto-started a Soviet campaign game on Normal every session instead of showing the main menu. Now merge with xpdev's INI reader/writer: read the existing file, (re)write only the runtime [Paths] UserPath/DataPath, and seed [Intro] PlayIntro=false ONLY when it is absent. So a fresh install boots to the main menu (with the Allies/Soviet and difficulty choosers), a sysop's or the engine's own later values survive, and iniWriteFile() rewinds+truncates so everything else in the file is preserved. Existing broken per-user INIs self-heal on the next launch. Co-Authored-By: Claude Opus 4.8 (1M context) --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .