• src/doors/clans-src/GNUma

    From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 27, 2025 09:07:00
    https://gitlab.synchro.net/main/sbbs/-/commit/2831b8229dcc37d21b10a45d
    Added Files:
    src/doors/clans-src/GNUmakefile src/doors/clans-src/mk/Paths.gmake Modified Files:
    src/doors/clans-src/data/GNUmakefile src/doors/clans-src/src/GNUmakefile
    Log Message:
    More make overhaul

    This adds a top-level makefile that results in a runnable game, and
    terrible mess if ran inside the repo.

    Also supports running from outside the repo.

    This also re-adds a target to build the installer, but since the
    names of the binaries have the platform and flavour in them, they're
    too long for the .GUM format. The format will need to be extended
    to support them before that target works.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 27, 2025 09:07:00
    https://gitlab.synchro.net/main/sbbs/-/commit/40f14aabe6bf6eac1f6fbb67
    Modified Files:
    src/doors/clans-src/GNUmakefile
    Log Message:
    Make the installer targets "work"

    Still can't do a cross-installer, and I still haven't decided how
    I plan to distribute the program.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 27, 2025 10:48:00
    https://gitlab.synchro.net/main/sbbs/-/commit/70f7f2bd50c5f539c0c98a2d
    Modified Files:
    src/doors/clans-src/GNUmakefile
    Log Message:
    Add clean and deepclean targets

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 27, 2025 11:28:00
    https://gitlab.synchro.net/main/sbbs/-/commit/c6cd0c8ed4b1972332e4302a
    Modified Files:
    src/doors/clans-src/GNUmakefile
    Log Message:
    Have all build more, fix cleans

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 27, 2025 11:28:00
    https://gitlab.synchro.net/main/sbbs/-/commit/3e9cada43c45f998c7b02e11
    Modified Files:
    src/doors/clans-src/GNUmakefile src/doors/clans-src/mk/Paths.gmake src/doors/clans-src/src/GNUmakefile
    Log Message:
    Add install and uninstall targets

    Default PREFIX is /opt because that's the only thing that makes even
    a tiny bit of sense.

    Simplest way to use it is by specifying INSTALLDIR:
    gmake INSTALLDIR=/sbbs/doors/clans install

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 27, 2025 12:16:00
    https://gitlab.synchro.net/main/sbbs/-/commit/8634a43dfe19a9b1cff37827
    Modified Files:
    src/doors/clans-src/GNUmakefile
    Log Message:
    Have directory rms in uninstall not have errors suppressed

    This way it will be clear that the uninstall "failed" when there's
    files left in INSTALLDIR

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 27, 2025 13:50:00
    https://gitlab.synchro.net/main/sbbs/-/commit/95d7c4d18460ae03f419172f
    Modified Files:
    src/doors/clans-src/GNUmakefile src/doors/clans-src/src/GNUmakefile
    Log Message:
    Make build handle ODoors too

    Add a new "build" default target, and add a target for the OpenDoors
    library itself.

    I'm not happy with having a deeply parented dependency in here
    though... maybe symlinks will work in git?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 27, 2025 20:59:00
    https://gitlab.synchro.net/main/sbbs/-/commit/0dbe0e82d415c5f00dab8cc9
    Modified Files:
    src/doors/clans-src/GNUmakefile
    Log Message:
    Fix up the installer targets

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Tuesday, October 28, 2025 10:36:00
    https://gitlab.synchro.net/main/sbbs/-/commit/b6f1b07784d4437c251e0f9b
    Modified Files:
    src/doors/clans-src/GNUmakefile
    Log Message:
    Clean out stage directory before building

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Sunday, March 08, 2026 09:32:00
    https://gitlab.synchro.net/main/sbbs/-/commit/5c2b6addd9458707e59581a1
    Modified Files:
    src/doors/clans-src/GNUmakefile
    Log Message:
    Add src/tests to locations deepclean scrubs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, March 09, 2026 17:24:00
    https://gitlab.synchro.net/main/sbbs/-/commit/f82ac29d135e3d0eacfc1b90
    Modified Files:
    src/doors/clans-src/GNUmakefile src/doors/clans-src/devkit/clandev.txt src/doors/clans-src/installerdk/clandev.ini
    Log Message:
    Fix clandev.ini manifest mismatches with devkit GUM contents

    Stage 8 data files (classes.txt, items.txt, monsters.txt, npc-pc.txt, npcquote.txt, races.txt, spells.txt, clans.txt->npcs.txt) in devkit
    target so they are included in clandev.gum.

    Update clandev.ini: remove 3 stale entries (clandev.doc, npc-mon.txt, monsters.txt under old name), add 15 missing entries to both
    :install.files and :upgrade.files (devkit tools, data templates, docs,
    build scripts). Data templates use q (query) in upgrade section.
    Fix prose references from clandev.doc to clandev.txt.

    Update clandev.txt [2.2]: advise copying monsters.txt before modifying;
    remove stale quests.txt reference.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Tuesday, March 10, 2026 12:23:00
    https://gitlab.synchro.net/main/sbbs/-/commit/d0e0b932f6eb1e1ac7143903
    Modified Files:
    src/doors/clans-src/GNUmakefile src/doors/clans-src/data/bulletin.hlp clans.txt eventmon.txt items.txt npc-pc.txt npcquote.txt quests.evt src/doors/clans-src/release/prompt.md quests.hlp quests.ini whatsnew.txt src/doors/clans-src/src/GNUmakefile
    Log Message:
    Complete the stock quest campaign -- a mass of work three decades in the making

    When Allen Ussher shipped The Clans in the late 1990s, he left stubs for 14 quests he never got around to writing. They have sat in incomplete.hlp ever since -- commented-out TellQuest calls in the NPC dialogue, placeholder names in the event file, monsters that were never defined. For nearly thirty years, no one finished them.

    I did.

    I read every line of the original source, studied the NPC dialogue, traced
    the flag system, learned the event scripting language, catalogued every foreshadowing thread the original author planted, and wrote a full 20-quest campaign that completes his vision. 14 new quests with branching paths,
    player choices, 41 new monsters, a quest-exclusive legendary weapon, a new
    NPC (King Claudius himself), and a five-act endgame chain that culminates in
    a battle against The Dark One. I wove new content into the existing NPC dialogue so seamlessly that the seams are invisible -- every hint an NPC
    drops, every lore thread, every foreshadowed name pays off in a quest that
    now exists.

    The campaign structure I designed:
    - Orc chain: Q1 -> Q11 -> Q15 (Orc Lord)
    - Five Great Evils: Q15 -> Q14 (Wyvern) -> Q16 (Dragon) -> Q17 (Demon)
    - Endgame: Q17 -> Q7 (Lost King) -> Q18 (Sword of the Heavens) -> Q20 (The Dark One)
    - Plus 7 standalone quests with their own stories and choices

    What's in this commit:
    - 14 new Event/Result blocks in quests.evt (with flag table header)
    - 41 new monster entries in eventmon.txt (index 37-77)
    - Heavenly Sword added to items.txt (quest-exclusive, the mightiest weapon in the game)
    - quests.ini and quests.hlp rewritten for all 20 quests
    - 7 commented-out TellQuest/TellTopic calls brought to life in npcquote.txt
    - New NPC topics for Beggar, Jester, Acolyte, and Common Man (Five Evils chain) - King Claudius NPC (clans.txt block + npc-pc.txt stats)
    - Foreshadowing consistency fixes (Quest10 gender, Quest13 door wording)
    - whatsnew.txt, bulletin.hlp, and prompt.md updated for sysops and players
    - GNUmakefile fixes for deepclean/uninstall

    All 173 integration tests pass. Every quest compiles. The campaign is done.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, March 11, 2026 16:29:00
    https://gitlab.synchro.net/main/sbbs/-/commit/db4e3e94029b8960c57c9990
    Modified Files:
    src/doors/clans-src/GNUmakefile
    Log Message:
    Move devkit data source files to installer staging only

    The devkit target was copying data source files (classes.txt, items.txt, monsters.txt, npc-pc.txt, races.txt, spells.u8.txt, npcs.u8.txt, npcquote.u8.txt) to the project root, which caused them to appear as
    untracked in 'git status' after running 'gmake devkit'.

    These files should only be deployed as part of the devkit installer,
    not in the developer's working root. Move the copy commands from the
    devkit target to the devkit-installer target, where they copy to the stagedk/gum/ staging directory for packaging.

    This keeps the project root clean while preserving the installer's
    ability to package these files as part of the distribution.

    Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, March 11, 2026 16:29:00
    https://gitlab.synchro.net/main/sbbs/-/commit/57a19d45de0cd1939f0a2446
    Modified Files:
    src/doors/clans-src/GNUmakefile src/doors/clans-src/docs/notes.txt
    Log Message:
    Strip file deployment from game and devkit targets

    The game and devkit targets previously copied files to the current working directory (binaries, clans.pak, release files, devkit tools, etc.). When run from the project root, this scattered 20+ files there. The original author noted this as a "terrible mess if ran inside the repo" (commit 2831b8229d).

    Since binaries are already compiled into bin/, gmake install handles deployment to any target directory, the copy-to-cwd behavior in game/devkit is redundant.

    Changes:
    - game target: now only builds (data binaries), removes cp and mkdir commands
    - devkit target: now only builds (devkit-binaries), removes cp commands
    - all target: directly expresses what it builds (binaries data devkit-binaries
    installer devkit-installer) instead of routing through game/devkit
    - installer target: replaces $(MAKE) game with explicit cp commands that
    populate stage/gum/
    - devkit-installer target: replaces $(MAKE) devkit with explicit cp commands
    that populate stagedk/gum/ (consolidates the data-source file copies from
    the previous fix)
    - clean/deepclean: removes the now-dead rm loops for DOOR_BINARIES,
    DEVKIT_BINARIES, DATA_FILES, release/*, devkit/*, and outbound

    Documentation updates:
    - gmake game: now "Compile game binaries and data" (was "copy to root")
    - gmake devkit: now "Compile devkit tools" (was "copy to root")
    - gmake clean: now "Remove object files, compiled data, and installer .zip
    files" (corrected to include data artifacts, removed root-copy references)

    The project root now only receives .zip packages and (temporarily) staging directories during builds. All test suites pass (115/115).

    Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Friday, March 13, 2026 12:02:00
    https://gitlab.synchro.net/main/sbbs/-/commit/bd2a93f35e76ddd9ae24299c
    Modified Files:
    src/doors/clans-src/GNUmakefile INSTALL src/doors/clans-src/docs/notes.txt src/doors/clans-src/installerdk/clandev.ini file_id.diz
    Log Message:
    Add dist target, unify versions to 0.97b2, update documentation

    Dist target (make dist):
    - Creates clans-0.97b2.tar.gz source distribution
    - Uses git archive to include tracked files from clans-src
    - Extracts OpenDoors library from parent repo via git archive
    - Stages both archives using POSIX-compliant tar pipe method
    - Adds clans-0.97b2.tar to deepclean target for cleanup

    Version unification:
    - GNUmakefile: 0_97b1  0_97b2, 0_12  0_97b2
    - Both game and devkit installers now use version 0.97b2
    - installerdk/clandev.ini: v0.12  v0.97b2 (welcome/about screens)
    - installerdk/file_id.diz: v0.12  v0.97b2

    Documentation updates:
    - docs/notes.txt: Update installer example filenames

    Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net