MACRO VERTEX x, y, z, face1, face2, face3, face4, visibility IF x < 0 s_x = 1 << 7 ELSE s_x = 0 ENDIF IF y < 0 s_y = 1 << 6 ELSE s_y = 0 ENDIF IF z < 0 s_z = 1 << 5 ELSE s_z = 0 ENDIF s = s_x + s_y + s_z + visibility f1 = face1 + (face2 << 4) f2 = face3 + (face4 << 4) ax = ABS(x) ay = ABS(y) az = ABS(z) EQUB ax, ay, az, s, f1, f2 ENDMACROName: VERTEX [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding vertices to ship blueprints Deep dive: Ship blueprintsContext: See this macro in context in the source code References: This macro is used as follows: * SHIP_ADDER uses VERTEX * SHIP_ANACONDA uses VERTEX * SHIP_ASP_MK_2 uses VERTEX * SHIP_ASTEROID uses VERTEX * SHIP_BOA uses VERTEX * SHIP_BOULDER uses VERTEX * SHIP_CANISTER uses VERTEX * SHIP_COBRA_MK_1 uses VERTEX * SHIP_COBRA_MK_3 uses VERTEX * SHIP_COBRA_MK_3_P uses VERTEX * SHIP_CONSTRICTOR uses VERTEX * SHIP_CORIOLIS uses VERTEX * SHIP_COUGAR uses VERTEX * SHIP_DODO uses VERTEX * SHIP_ESCAPE_POD uses VERTEX * SHIP_FER_DE_LANCE uses VERTEX * SHIP_GECKO uses VERTEX * SHIP_KRAIT uses VERTEX * SHIP_MAMBA uses VERTEX * SHIP_MISSILE uses VERTEX * SHIP_MORAY uses VERTEX * SHIP_PLATE uses VERTEX * SHIP_PYTHON uses VERTEX * SHIP_PYTHON_P uses VERTEX * SHIP_ROCK_HERMIT uses VERTEX * SHIP_SHUTTLE uses VERTEX * SHIP_SIDEWINDER uses VERTEX * SHIP_SPLINTER uses VERTEX * SHIP_THARGOID uses VERTEX * SHIP_THARGON uses VERTEX * SHIP_TRANSPORTER uses VERTEX * SHIP_VIPER uses VERTEX * SHIP_WORM uses VERTEX
The following macro is used to build the ship blueprints: VERTEX x, y, z, face1, face2, face3, face4, visibility See the deep dive on "Ship blueprints" for details of how vertices are stored in the ship blueprints, and the deep dive on "Drawing ships" for information on how vertices are used to draw 3D wireframe ships.
Arguments: x The vertex's x-coordinate y The vertex's y-coordinate z The vertex's z-coordinate face1 The number of face 1 associated with this vertex face2 The number of face 2 associated with this vertex face3 The number of face 3 associated with this vertex face4 The number of face 4 associated with this vertex visibility The visibility distance, beyond which the vertex is not shown
[X]
Configuration variable ax is local to this routine
[X]
Configuration variable ay is local to this routine
[X]
Configuration variable az is local to this routine
[X]
Configuration variable f1 is local to this routine
[X]
Configuration variable f2 is local to this routine
[X]
Configuration variable s is local to this routine