Skip to navigation

Drawing ships: EDGE

[BBC Micro disc version, Ship blueprints I]

Name: EDGE [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding edges to ship blueprints Deep dive: Ship blueprints
Context: See this macro in context in the source code References: This macro is used as follows: * SHIP_ADDER uses EDGE * SHIP_CANISTER uses EDGE * SHIP_COBRA_MK_3_P uses EDGE * SHIP_CORIOLIS uses EDGE * SHIP_ESCAPE_POD uses EDGE * SHIP_KRAIT uses EDGE * SHIP_MAMBA uses EDGE * SHIP_PLATE uses EDGE * SHIP_PYTHON_P uses EDGE * SHIP_SIDEWINDER uses EDGE * SHIP_VIPER uses EDGE

The following macro is used to build the ship blueprints: EDGE vertex1, vertex2, face1, face2, visibility See the deep dive on "Ship blueprints" for details of how edges are stored in the ship blueprints, and the deep dive on "Drawing ships" for information on how edges are used to draw 3D wireframe ships.
Arguments: vertex1 The number of the vertex at the start of the edge vertex1 The number of the vertex at the end of the edge face1 The number of face 1 associated with this edge face2 The number of face 2 associated with this edge visibility The visibility distance, beyond which the edge is not shown
MACRO EDGE vertex1, vertex2, face1, face2, visibility f = face1 + (face2 << 4) EQUB visibility, f, vertex1 << 2, vertex2 << 2 ENDMACRO