• src/doors/clans-src/src/d

    From Deuc¿@VERT to Git commit to main/sbbs/m on Tuesday, October 14, 2025 10:23:00
    https://gitlab.synchro.net/main/sbbs/-/commit/a8ca4273e6f961a902bc1930
    Added Files:
    src/doors/clans-src/src/deserialize.c deserialize.h
    Modified Files:
    src/doors/clans-src/src/serialize.c serialize.h src/doors/clans-src/test/village.dat
    Log Message:
    And add deserialization routines.

    Now to plug them into the bits...

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 15, 2025 05:15:00
    https://gitlab.synchro.net/main/sbbs/-/commit/7230323a20a3adf512cbb96c
    Modified Files:
    src/doors/clans-src/src/deserialize.c myopen.h serialize.c
    Log Message:
    Fix missing fields in serialized village data

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 15, 2025 08:37:00
    https://gitlab.synchro.net/main/sbbs/-/commit/cd595ebc0d89c4c1e1d9c626
    Modified Files:
    src/doors/clans-src/src/deserialize.c
    Log Message:
    Fix unpacking of sub-structs

    Game mostly seems to workish now.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 15, 2025 08:37:00
    https://gitlab.synchro.net/main/sbbs/-/commit/3d85f41fa783dd5e6038dcc0
    Modified Files:
    src/doors/clans-src/src/deserialize.c myopen.h quests.h serialize.c
    Log Message:
    The quests/events in clans.pak are padded as though not packed.

    Since we don't read/write structs anymore, just insert pad elements
    where that would be.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 15, 2025 08:37:00
    https://gitlab.synchro.net/main/sbbs/-/commit/564e446a21213c6f08a9e510
    Modified Files:
    src/doors/clans-src/src/door.c ibbs.c items.c menus.c reset.c video.c Log Message:
    Fix some Windows warnings.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 15, 2025 14:53:00
    https://gitlab.synchro.net/main/sbbs/-/commit/de56283aedc30117b77b801c
    Modified Files:
    src/doors/clans-src/src/defines.h
    Log Message:
    Bump version to 0.97b1

    A lot of broken stff has been unbroken (which makes it incompatible
    with the broken versions).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Friday, October 17, 2025 15:24:00
    https://gitlab.synchro.net/main/sbbs/-/commit/f7bf3eeb9ac1e7ad56a99465
    Modified Files:
    src/doors/clans-src/src/defines.h
    Log Message:
    We don't use BOOL anymore, so let OpenDoors mess it up however they like.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Sunday, October 19, 2025 10:37:00
    https://gitlab.synchro.net/main/sbbs/-/commit/9991fd4458fce9917630a8ba
    Modified Files:
    src/doors/clans-src/src/door.c
    Log Message:
    In local mode, display rputs to the local screen

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Sunday, October 19, 2025 10:48:00
    https://gitlab.synchro.net/main/sbbs/-/commit/d6516fcf2667921d0769c388
    Modified Files:
    src/doors/clans-src/src/door.c
    Log Message:
    Actually, always local echo from rputs()

    Leaving it out makes everything fucky.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 20, 2025 13:50:00
    https://gitlab.synchro.net/main/sbbs/-/commit/2991c3367abbcb2378a97805
    Modified Files:
    src/doors/clans-src/src/deserialize.c serialize.c
    Log Message:
    Dont read/write pointers in structs

    We're not trying to be backward compatible at this point, and it's
    silly to do that.

    We do still set them to NULL on read though.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, October 20, 2025 16:03:00
    https://gitlab.synchro.net/main/sbbs/-/commit/d276d41cc28fe1dc23c52bfa
    Modified Files:
    src/doors/clans-src/src/deserialize.c myopen.h serialize.c
    Log Message:
    Fix packing of empires... was missing the army struct.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 22, 2025 19:27:00
    https://gitlab.synchro.net/main/sbbs/-/commit/2e3e364f3094817d7af048bc
    Modified Files:
    src/doors/clans-src/src/defines.h myibbs.c
    Log Message:
    Switch MAIL_BINKLEY to 0 so it's easier to default.

    Add MAIL_NONE for a mode that doesn't create *.msg files

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Friday, October 24, 2025 09:07:00
    https://gitlab.synchro.net/main/sbbs/-/commit/1fe42b3e66c941c661b76e94
    Modified Files:
    src/doors/clans-src/src/door.c empire.c fight.c ibbs.c items.c mail.c menus.c menus2.c pawn.c pcedit.c quests.c scores.c spells.c structs.h user.c village.c voting.c
    Log Message:
    And don't malloc() the village data either.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Friday, October 24, 2025 11:54:00
    https://gitlab.synchro.net/main/sbbs/-/commit/ebed01691487f31b5e2e634a
    Modified Files:
    src/doors/clans-src/src/deserialize.c
    Log Message:
    Error on any CRC mismatch

    This is from the original todo.txt file

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Saturday, October 25, 2025 09:53:00
    https://gitlab.synchro.net/main/sbbs/-/commit/7ed974a8719b7e69117f4e63
    Modified Files:
    src/doors/clans-src/src/door.c door.h structs.h system.c
    Log Message:
    Use the standard "x" flag with fopen() for online semaphore

    Also, fix the race condition inherent in the check-then-use method.
    Now, it tries to create the semaphore file using mode "w+bx" and if
    that fails, someone is online. If it succeeds, nobody is online.

    With this, I'm not sure that the _fsopen() is even needed... will
    need to go through the maint and ibbs options.

    Also, instead of a binary representation of the node number, use
    "Node: %d\n"

    Add /EXCLUSIVE option

    This option asserts that there are no other copies of the game
    running, and it is safe to remove online.flg if it exists.

    Create/test the semaphore before reading dynamic data

    Also, on node 0, wait for the semaphore rather than exit.

    So, it's expected you will set everything up line this:
    Regular door: clans /Nx /Sx /Dxxxx
    IBBS import: clans /I
    Maint: clans /M /EXCLUSIVE

    The IBBS import and Maint events need to run on the same node so that
    an import won't be running at the same time as maint. If that's not
    possible, leave off the /EXCLUSIVE option to maint, and keep an eye
    on the flag file because processes will build up waiting on the
    semfile in the case of a crash.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Saturday, October 25, 2025 10:22:00
    https://gitlab.synchro.net/main/sbbs/-/commit/9243c6968b184b7bfc7384d9
    Modified Files:
    src/doors/clans-src/src/door.c
    Log Message:
    Do the NFS dance to create semaphore file on *nix

    As is tradition

    ---
    þ 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/b2ff615d0795fc94d00a8197
    Modified Files:
    src/doors/clans-src/src/defines.h structs.h
    Log Message:
    Move PATH_SIZE into defines.h

    ---
    þ 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 19:18:00
    https://gitlab.synchro.net/main/sbbs/-/commit/acfdd2f82af3bd893f217aa5
    Modified Files:
    src/doors/clans-src/src/door.c fight.c quests.c system.c
    Log Message:
    Handle libraries that call exit()

    OpenDoors will call exit() under you sometimes, and there's really
    no way to stop it. That means to clean up the semaphore, we need
    to use an atexit() handler.

    System_Close() already does everything we need, I just need to make
    sure nothing is calling exit() to avoid it now. :(

    So, I've split it into System_CloseAtExit() which should only be
    called from exit() and System_Close() which calls it. It tries to
    detect if exit() was called from System_CloseAtExit() and falls back
    to abort() with a diagnostic, since abort() is the thing most likely
    to flush buffers but not call atexit() handlers.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 29, 2025 15:36:00
    https://gitlab.synchro.net/main/sbbs/-/commit/13fcad30b8608bca1a7e9097
    Modified Files:
    src/doors/clans-src/src/door.c
    Log Message:
    Some formatting cleanup and skip an unneeded call to od_disp()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 29, 2025 19:40:00
    https://gitlab.synchro.net/main/sbbs/-/commit/56b4e2643d83c6ecc53bb7f3
    Modified Files:
    src/doors/clans-src/src/deserialize.c myopen.h serialize.c
    Log Message:
    Fix error serializing/deserializing the Packet structure

    The "Active" boolean was missing from the start, which means all
    IBBS games must be updated and manually reset.

    I've double-checked all the rest of the structs and they all look
    OK, so this should be a one-time thing.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Thursday, October 30, 2025 12:02:00
    https://gitlab.synchro.net/main/sbbs/-/commit/e006b40ba290d4a0255c6728
    Modified Files:
    src/doors/clans-src/src/deserialize.c serialize.c structs.h
    Log Message:
    Remove junk/garbage fields from structures

    These aren't needed, and don't really enable extension, so since
    we're forcing a reset anyway, eliminate them now.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Thursday, October 30, 2025 13:27:00
    https://gitlab.synchro.net/main/sbbs/-/commit/df670fb1114c3f2df964d6fb
    Modified Files:
    src/doors/clans-src/src/deserialize.c myopen.h serialize.c
    Log Message:
    Fix error introduced when removing padding.

    Buffer pointers weren't being incremented after reading the last
    bitfield in the village dat struct, which led to bad CRCs, and
    the door refusing to load the village.dat file.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Saturday, November 01, 2025 22:46:00
    https://gitlab.synchro.net/main/sbbs/-/commit/8365ad494b9ce51dd28af4f5
    Modified Files:
    src/doors/clans-src/src/door.c ecomp.c empire.c fight.c help.c ibbs.c input.c install.c news.c reset.c spells.c trades.c user.c video.c
    Log Message:
    Fix various minor and harmless logic errors

    Most of these are just unused values, but there's a couple where
    a malicious packet could potentially crash The Clans.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Sunday, November 02, 2025 23:56:00
    https://gitlab.synchro.net/main/sbbs/-/commit/9401e8a25f04ff46e63f2eef
    Modified Files:
    src/doors/clans-src/src/door.c quests.c
    Log Message:
    Prevent pausing after a pause

    Some places you would get two pause prompts right after each other.
    This simply tracks if a pause was the last thing output, and doesn't
    pause again if it was.

    Hacky, but it seems to work.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, November 03, 2025 11:43:00
    https://gitlab.synchro.net/main/sbbs/-/commit/fb03909303c9e2c40f6978a8
    Modified Files:
    src/doors/clans-src/src/door.c
    Log Message:
    Remove redundant check.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, November 03, 2025 19:01:00
    https://gitlab.synchro.net/main/sbbs/-/commit/be3165045bd4fb0a43cc03e9
    Modified Files:
    src/doors/clans-src/src/door.c fight.c ibbs.c ibbs.h myibbs.c
    Log Message:
    Move aszShortMonthName into ibbs.c/h

    Now it can be shared between door.c and myibbs.c

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, November 03, 2025 22:56:00
    https://gitlab.synchro.net/main/sbbs/-/commit/f19cc867ac693a7805501462
    Modified Files:
    src/doors/clans-src/src/door.c empire.c empire.h ibbs.c ibbs.h k_clansi.h k_classes.h k_ibbs.h k_items.h k_npcs.h k_quests.h k_spells.h misc.c readcfg.c video.c
    Log Message:
    constify some consts

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Sunday, November 09, 2025 13:12:00
    https://gitlab.synchro.net/main/sbbs/-/commit/d4e497b79260555c41e18519
    Modified Files:
    src/doors/clans-src/src/deserialize.c myibbs.c serialize.c
    Log Message:
    Some more signed FTNaddr fixins

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, November 10, 2025 06:14:00
    https://gitlab.synchro.net/main/sbbs/-/commit/408555991d4944431fa7a288
    Modified Files:
    src/doors/clans-src/src/deserialize.c
    Log Message:
    Fix deserialization of days of protection left

    << happens before &

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, November 10, 2025 19:11:00
    https://gitlab.synchro.net/main/sbbs/-/commit/0e4aa537668dac332f1ce234
    Modified Files:
    src/doors/clans-src/src/deserialize.c serialize.c structs.h
    Log Message:
    Don't copy uninitialized bytes into/out of buffers

    Instead of memcpy() in and out, use strncpy() with an explicit NUL
    termination. This ensures NUL padding is used for strings, and any uninitialized data left over is cleared before being put in a file.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Friday, November 28, 2025 15:47:00
    https://gitlab.synchro.net/main/sbbs/-/commit/e47902a8c2aca70f993d34eb
    Modified Files:
    src/doors/clans-src/src/deserialize.c
    Log Message:
    Fix deserialization of pointers.

    Since they are zero length, we don't need to have four bytes remaining
    Fixes one issue with messages.

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