https://gitlab.synchro.net/main/sbbs/-/issues/941#note_8997
Audited the Wildcat! 4 macro reference (System Information, User Record Information, Connection variables, Screen control codes, Color codes — from the `Wildcat-4.pdf` manual) against the Synchronet sources (`atcodes.cpp` value-codes and `putmsg.cpp` display-control codes).
The large majority of Wildcat! `@`-codes are already supported under the same name (`@BBS@`, `@USER@`, `@PHONE@`, `@CLS@`, `@PAUSE@`, `@NOSTOP@`, `@STOP@`, `@NOCODE@`, `@PROTOCOL@`, the `@DOWNK@`/`@UPK@`/`@KBLEFT@`/`@MAXDL@` family, etc.).
### Aliases added (`atcodes.cpp`) — codes that already existed under a different name
| Wildcat! code | Synchronet code |
|---|---|
| `@ACCBAL@` | `@CREDITS@` |
| `@USERID@` | `@USERNUM@` |
| `@CALLID@` | `@CID@` |
| `@CONNECT@` | `@CONN@` |
| `@ID@` | `@QWKID@` |
| `@ENTER@` | `@PAUSE@` (approximate — Wildcat! waits for Enter, Synchronet's pause is hit-any-key) |
(Builds clean; commit pending review.)
### Genuinely missing — no equivalent
- `@CONFOP@` — sub-board operator name
- `@INCHAT@` — number of users active in chat
- `@MAXRATIO@` — maximum download ratio
- `@NETBAL@` — netmail balance
### Not applicable to Synchronet's model
- `@FAX@` — no fax field in the user record
- `@MODEM@` — modem name from MDM file (telnet-era / N/A)
- `@YNDEF@` — per-language default Yes/No characters (handled differently)
- `@ELSE@` / `@ENDIF@` / `@IFSEC [sec]@` — Wildcat!'s IF/ELSE/ENDIF block model; Synchronet uses `@SHOW:@` for conditional display instead
- `@NOPREV@` — no previous-page toggle in Synchronet's pause model
Color codes (`@BF@` hex background/foreground format) are a separate topic from the @-codes above; Synchronet's `@XON@`/`@XOFF@` already toggle PCBoard/Wildcat-style color-code interpretation.
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)