Skip to main content

Module rip

Module rip 

Source
Expand description

RIPscrip 1.54 graphics: the vector scenes, buttons and clickable mouse regions of RIPterm-era BBSes, drawn on a 640x350 EGA canvas under the 80x43 text screen.

A RIP line starts with !| at the beginning of a line and holds commands separated by |, each a command letter (with a level digit before it for level 1 commands) and its parameters, mostly two-digit base-36 “MegaNums”. A backslash at the end of a line continues it on the next; \|, \\ and \! are literal characters in text.

Drawing follows the Borland BGI the format was built on: colors are indices into a 16-entry palette of the EGA’s 64 colors, lines have a style and thickness, areas are filled with one of BGI’s patterns, and circles are corrected for the EGA’s tall pixels. Text uses the 8x8 font, scaled up for larger sizes; BGI’s vector fonts (Borland’s own files) are drawn in it too.

Icons (1I, 1W), scenes (1R) and file queries (1F) use the BBS’s own folder, RIP in its file cache, as SyncTERM does; icons and scenes are also looked for in the downloads folder, where a ZMODEM download puts them. An icon is a BGI getimage image: its width and height less one (16-bit, little-endian), then each row as four bit planes, the intensity plane first.

Left out: variables (1D) and RIP’s block-mode file transfers.

Structs§

Io
What RIP needs from outside: where its files are, and a way to answer.
MouseRegion
A clickable area: when clicked, text is sent to the BBS.
Rip

Enums§

Feed
What Rip::byte did with a byte.

Constants§

COLS
The text screen over the canvas: 80x43 in the 8x8 font.
HEIGHT
ROWS
VERSION_REPLY
What a RIP terminal answers to ESC [ !: RIPscrip, version 1.54.
WIDTH

Functions§

ega_rgb
One of the EGA’s 64 colors (bits: secondary R G B, primary R G B).