BSX Format of Graphical Objects

Definition in EBNF

  • Graphic = Ident "." Hexnumber Polygon ;
  • Ident = IChar IChar ;
  • IChar = "a" - "z" | "A" - "Z" | "0" - "9" | Specialchar;
  • Specialchar = ... (all printable special chars but "." and "@");
  • Polygon = Hexnumber Hexnumber Coordinates ;
  • Coordinates = Hexnumber Hexnumber;
  • Hexnumber = Hexdigit Hexdigit;
  • Hexdigit = "0" - "9" | "A" - "F";

Comments

Ident

The ident is used to identify the graphical object. It's used by the server to tell the client which object to display or hide. It's used by the client to request the representation of the object.

The ident MUST NOT contain a dot "." nor the "@"-character.

The dot is used to separate identifier and additional information (graphics, position).

The "@"-charater inidcates the beginning of a BSX Command.

Most of the time the ident will be derived from the file_name() because the graphical object is a representation of an object inside the MUD defined by a file.

Dot's in file names are replaced by stars "*" and thus may lead to ambition.

Graphicdefinition

The Graphic consists of a possibly empty list of polygons. The first hexadecimal number (Hexnumber) represents the count of polygons. Valid values are between 0 and 32 ("00" - "20") including both.

The Polygon itself is a possible empty list of points, represented as Coordinates. The first Hexnumber represents the count of points. The second Hexnumber represents the color of the whole polygon. Valid values for the color are between 0 and 15 ("00" - "0F") including both. Remark: The 16 predefined colors are: black, blue, forestgreen, skyblue, indianred, hotpink, brown, lightgrey, dimgrey, deepskyblue, green, cyan, tomato, magenta, yellow and white.

The Coordinates consit of a value for the X axis and the Y axis. Valid values for X and Y are between 0 and 255 ("00" - "FF") including both. Remark: Aspect ratio is 2:1 which means, that the X axis is 2 times the Y axis and the format of the resulting picture is 512 x 256.

Example

The following example depicts the definition of a graphical object consiting of a black rectangle and a white triangle. The rectangle spans from (16,32) to (64,96). The triangle has it's points at (224,0), (192,64), (160,32).

      /tmp/obj/beispiel.0204001020106040604020030FE000C040A020
                        ^ ^ ^ ^   ^   ^   ^   ^ ^ ^   ^   ^
                        | | | |   |   |   |   | | |   |   |
     2 Polygons --------' | | |   |   |   |   | | |   |   |
                          | | |   |   |   |   | | |   |   |
     1st Polygon 4 Edges -' | |   |   |   |   | | |   |   |
     1st Polygon Color 00 --' |   |   |   |   | | |   |   |
     1st Polygon 1st Edge ----'   |   |   |   | | |   |   |
     1st Polygon 2nd Edge --------'   |   |   | | |   |   |
     1st Polygon 3rd Edge ------------'   |   | | |   |   |
     1st Polygon 4th Edge ----------------'   | | |   |   |
                                              | | |   |   |
     2nd Polygon 3 Edges ---------------------' | |   |   |
     2nd Polygon Color 0F ----------------------' |   |   |
     2nd Polygon 1st Edge ------------------------'   |   |
     2nd Polygon 2nd Edge ----------------------------'   |
     2nd Polygon 3rd Edge --------------------------------'