CODE_SHIPS% = P% LOAD_SHIPS% = LOAD% + P% - CODE%ELITE SHIP HANGAR BLUEPRINTS FILE.XX21 EQUW SHIP_MISSILE \ MSL = 1 = Missile EQUW 0 EQUW 0 EQUW 0 EQUW SHIP_CANISTER \ OIL = 5 = Cargo canister EQUW 0 EQUW 0 EQUW 0 EQUW SHIP_SHUTTLE \ SHU = 9 = Shuttle EQUW SHIP_TRANSPORTER \ 10 = Transporter EQUW SHIP_COBRA_MK_3 \ CYL = 11 = Cobra Mk III EQUW SHIP_PYTHON \ 12 = Python EQUW 0 EQUW 0 EQUW 0 EQUW SHIP_VIPER \ COPS = 16 = Viper EQUW 0 EQUW 0 EQUW SHIP_KRAIT \ KRA = 19 = Krait EQUW 0 EQUW 0 EQUW 0 EQUW 0 EQUW 0 EQUW 0 EQUW 0 EQUW 0 EQUW 0 EQUW 0 EQUW 0 EQUW SHIP_CONSTRICTOR \ CON = 31 = ConstrictorName: XX21 [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprints lookup table for the ship hangar Deep dive: Ship blueprints in the disc versionContext: See this variable on its own page References: This variable is used as follows: * HAS1 uses XX21 * NWSHP uses XX21.E% EQUB %00000000 \ Missile EQUB 0 EQUB 0 EQUB 0 EQUB %00000000 \ Cargo canister EQUB 0 EQUB 0 EQUB 0 EQUB %00100001 \ Shuttle Trader, innocent EQUB %01100001 \ Transporter Trader, innocent, cop EQUB %10100000 \ Cobra Mk III Innocent, escape pod EQUB %10100000 \ Python Innocent, escape pod EQUB 0 EQUB 0 EQUB 0 EQUB %11000010 \ Viper Bounty hunter, cop, escape pod EQUB 0 EQUB 0 EQUB %10001100 \ Krait Hostile, pirate, escape pod EQUB 0 EQUB 0 EQUB 0 EQUB 0 EQUB 0 EQUB 0 EQUB 0 EQUB 0 EQUB 0 EQUB 0 EQUB 0 EQUB %10001100 \ Constrictor Hostile, pirate, escape podName: E% [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprints default NEWB flags for the ship hangar Deep dive: Ship blueprints Advanced tactics with the NEWB flagsContext: See this variable on its own page References: No direct references to this variable in this source fileMACRO 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 on its own page References: This macro is used as follows: * SHIP_CANISTER uses VERTEX * SHIP_COBRA_MK_3 uses VERTEX * SHIP_CONSTRICTOR uses VERTEX * SHIP_KRAIT uses VERTEX * SHIP_PYTHON uses VERTEX * SHIP_SHUTTLE uses VERTEX * SHIP_TRANSPORTER uses VERTEX * SHIP_VIPER 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 shownMACRO EDGE vertex1, vertex2, face1, face2, visibility f = face1 + (face2 << 4) EQUB visibility, f, vertex1 << 2, vertex2 << 2 ENDMACROName: EDGE [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding edges to ship blueprints Deep dive: Ship blueprintsContext: See this macro on its own page References: This macro is used as follows: * SHIP_CANISTER uses EDGE * SHIP_COBRA_MK_3 uses EDGE * SHIP_CONSTRICTOR uses EDGE * SHIP_KRAIT uses EDGE * SHIP_PYTHON uses EDGE * SHIP_SHUTTLE uses EDGE * SHIP_TRANSPORTER 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 shownMACRO FACE normal_x, normal_y, normal_z, visibility IF normal_x < 0 s_x = 1 << 7 ELSE s_x = 0 ENDIF IF normal_y < 0 s_y = 1 << 6 ELSE s_y = 0 ENDIF IF normal_z < 0 s_z = 1 << 5 ELSE s_z = 0 ENDIF s = s_x + s_y + s_z + visibility ax = ABS(normal_x) ay = ABS(normal_y) az = ABS(normal_z) EQUB s, ax, ay, az ENDMACROName: FACE [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding faces to ship blueprints Deep dive: Ship blueprintsContext: See this macro on its own page References: This macro is used as follows: * SHIP_CANISTER uses FACE * SHIP_COBRA_MK_3 uses FACE * SHIP_CONSTRICTOR uses FACE * SHIP_KRAIT uses FACE * SHIP_PYTHON uses FACE * SHIP_SHUTTLE uses FACE * SHIP_TRANSPORTER uses FACE * SHIP_VIPER uses FACE
The following macro is used to build the ship blueprints: FACE normal_x, normal_y, normal_z, visibility See the deep dive on "Ship blueprints" for details of how faces are stored in the ship blueprints, and the deep dive on "Drawing ships" for information on how faces are used to draw 3D wireframe ships.
Arguments: normal_x The face normal's x-coordinate normal_y The face normal's y-coordinate normal_z The face normal's z-coordinate visibility The visibility distance, beyond which the edge is always shown.SHIP_CANISTER EQUB 0 \ Max. canisters on demise = 0 EQUW 20 * 20 \ Targetable area = 20 * 20 EQUB LO(SHIP_CANISTER_EDGES - SHIP_CANISTER) \ Edges data offset (low) EQUB LO(SHIP_CANISTER_FACES - SHIP_CANISTER) \ Faces data offset (low) EQUB 49 \ Max. edge count = (49 - 1) / 4 = 12 EQUB 0 \ Gun vertex = 0 EQUB 18 \ Explosion count = 3, as (4 * n) + 6 = 18 EQUB 60 \ Number of vertices = 60 / 6 = 10 EQUB 15 \ Number of edges = 15 EQUW 0 \ Bounty = 0 EQUB 28 \ Number of faces = 28 / 4 = 7 EQUB 12 \ Visibility distance = 12 EQUB 17 \ Max. energy = 17 EQUB 15 \ Max. speed = 15 EQUB HI(SHIP_CANISTER_EDGES - SHIP_CANISTER) \ Edges data offset (high) EQUB HI(SHIP_CANISTER_FACES - SHIP_CANISTER) \ Faces data offset (high) EQUB 2 \ Normals are scaled by = 2^2 = 4 EQUB %00000000 \ Laser power = 0 \ Missiles = 0 .SHIP_CANISTER_VERTICES \ x, y, z, face1, face2, face3, face4, visibility VERTEX 24, 16, 0, 0, 1, 5, 5, 31 \ Vertex 0 VERTEX 24, 5, 15, 0, 1, 2, 2, 31 \ Vertex 1 VERTEX 24, -13, 9, 0, 2, 3, 3, 31 \ Vertex 2 VERTEX 24, -13, -9, 0, 3, 4, 4, 31 \ Vertex 3 VERTEX 24, 5, -15, 0, 4, 5, 5, 31 \ Vertex 4 VERTEX -24, 16, 0, 1, 5, 6, 6, 31 \ Vertex 5 VERTEX -24, 5, 15, 1, 2, 6, 6, 31 \ Vertex 6 VERTEX -24, -13, 9, 2, 3, 6, 6, 31 \ Vertex 7 VERTEX -24, -13, -9, 3, 4, 6, 6, 31 \ Vertex 8 VERTEX -24, 5, -15, 4, 5, 6, 6, 31 \ Vertex 9 .SHIP_CANISTER_EDGES \ vertex1, vertex2, face1, face2, visibility EDGE 0, 1, 0, 1, 31 \ Edge 0 EDGE 1, 2, 0, 2, 31 \ Edge 1 EDGE 2, 3, 0, 3, 31 \ Edge 2 EDGE 3, 4, 0, 4, 31 \ Edge 3 EDGE 0, 4, 0, 5, 31 \ Edge 4 EDGE 0, 5, 1, 5, 31 \ Edge 5 EDGE 1, 6, 1, 2, 31 \ Edge 6 EDGE 2, 7, 2, 3, 31 \ Edge 7 EDGE 3, 8, 3, 4, 31 \ Edge 8 EDGE 4, 9, 4, 5, 31 \ Edge 9 EDGE 5, 6, 1, 6, 31 \ Edge 10 EDGE 6, 7, 2, 6, 31 \ Edge 11 EDGE 7, 8, 3, 6, 31 \ Edge 12 EDGE 8, 9, 4, 6, 31 \ Edge 13 EDGE 9, 5, 5, 6, 31 \ Edge 14 .SHIP_CANISTER_FACES \ normal_x, normal_y, normal_z, visibility FACE 96, 0, 0, 31 \ Face 0 FACE 0, 41, 30, 31 \ Face 1 FACE 0, -18, 48, 31 \ Face 2 FACE 0, -51, 0, 31 \ Face 3 FACE 0, -18, -48, 31 \ Face 4 FACE 0, 41, -30, 31 \ Face 5 FACE -96, 0, 0, 31 \ Face 6Name: SHIP_CANISTER [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a cargo canister Deep dive: Ship blueprintsContext: See this variable on its own page Variations: See code variations for this variable in the different versions References: This variable is used as follows: * XX21 uses SHIP_CANISTER.SHIP_SHUTTLE EQUB 15 \ Max. canisters on demise = 15 EQUW 50 * 50 \ Targetable area = 50 * 50 EQUB LO(SHIP_SHUTTLE_EDGES - SHIP_SHUTTLE) \ Edges data offset (low) EQUB LO(SHIP_SHUTTLE_FACES - SHIP_SHUTTLE) \ Faces data offset (low) EQUB 109 \ Max. edge count = (109 - 1) / 4 = 27 EQUB 0 \ Gun vertex = 0 EQUB 38 \ Explosion count = 8, as (4 * n) + 6 = 38 EQUB 114 \ Number of vertices = 114 / 6 = 19 EQUB 30 \ Number of edges = 30 EQUW 0 \ Bounty = 0 EQUB 52 \ Number of faces = 52 / 4 = 13 EQUB 22 \ Visibility distance = 22 EQUB 32 \ Max. energy = 32 EQUB 8 \ Max. speed = 8 EQUB HI(SHIP_SHUTTLE_EDGES - SHIP_SHUTTLE) \ Edges data offset (high) EQUB HI(SHIP_SHUTTLE_FACES - SHIP_SHUTTLE) \ Faces data offset (high) EQUB 2 \ Normals are scaled by = 2^2 = 4 EQUB %00000000 \ Laser power = 0 \ Missiles = 0 .SHIP_SHUTTLE_VERTICES \ x, y, z, face1, face2, face3, face4, visibility VERTEX 0, -35, 47, 15, 15, 15, 15, 31 \ Vertex 0 VERTEX -35, 0, 47, 15, 15, 15, 15, 31 \ Vertex 1 VERTEX 0, 35, 47, 15, 15, 15, 15, 31 \ Vertex 2 VERTEX 35, 0, 47, 15, 15, 15, 15, 31 \ Vertex 3 VERTEX -40, -40, -53, 2, 1, 9, 3, 31 \ Vertex 4 VERTEX -40, 40, -53, 4, 3, 9, 5, 31 \ Vertex 5 VERTEX 40, 40, -53, 6, 5, 9, 7, 31 \ Vertex 6 VERTEX 40, -40, -53, 7, 1, 9, 8, 31 \ Vertex 7 VERTEX 10, 0, -53, 9, 9, 9, 9, 16 \ Vertex 8 VERTEX 0, -5, -53, 9, 9, 9, 9, 16 \ Vertex 9 VERTEX -10, 0, -53, 9, 9, 9, 9, 8 \ Vertex 10 VERTEX 0, 5, -53, 9, 9, 9, 9, 8 \ Vertex 11 VERTEX 0, -17, 71, 10, 0, 12, 11, 16 \ Vertex 12 VERTEX 5, -2, 61, 15, 15, 2, 0, 6 \ Vertex 13 VERTEX 7, 23, 49, 1, 0, 4, 15, 7 \ Vertex 14 VERTEX 21, 9, 49, 1, 10, 15, 3, 7 \ Vertex 15 VERTEX -5, -2, 61, 11, 6, 3, 2, 6 \ Vertex 16 VERTEX -7, 23, 49, 8, 15, 0, 12, 7 \ Vertex 17 VERTEX -21, 9, 49, 15, 4, 8, 1, 7 \ Vertex 18 .SHIP_SHUTTLE_EDGES \ vertex1, vertex2, face1, face2, visibility EDGE 0, 1, 2, 0, 31 \ Edge 0 EDGE 1, 2, 10, 4, 31 \ Edge 1 EDGE 2, 3, 11, 6, 31 \ Edge 2 EDGE 0, 3, 12, 8, 31 \ Edge 3 EDGE 0, 7, 8, 1, 31 \ Edge 4 EDGE 0, 4, 2, 1, 24 \ Edge 5 EDGE 1, 4, 3, 2, 31 \ Edge 6 EDGE 1, 5, 4, 3, 24 \ Edge 7 EDGE 2, 5, 5, 4, 31 \ Edge 8 EDGE 2, 6, 6, 5, 12 \ Edge 9 EDGE 3, 6, 7, 6, 31 \ Edge 10 EDGE 3, 7, 8, 7, 24 \ Edge 11 EDGE 4, 5, 9, 3, 31 \ Edge 12 EDGE 5, 6, 9, 5, 31 \ Edge 13 EDGE 6, 7, 9, 7, 31 \ Edge 14 EDGE 4, 7, 9, 1, 31 \ Edge 15 EDGE 0, 12, 12, 0, 16 \ Edge 16 EDGE 1, 12, 10, 0, 16 \ Edge 17 EDGE 2, 12, 11, 10, 16 \ Edge 18 EDGE 3, 12, 12, 11, 16 \ Edge 19 EDGE 8, 9, 9, 9, 16 \ Edge 20 EDGE 9, 10, 9, 9, 6 \ Edge 21 EDGE 10, 11, 9, 9, 8 \ Edge 22 EDGE 8, 11, 9, 9, 6 \ Edge 23 EDGE 13, 14, 11, 11, 4 \ Edge 24 EDGE 14, 15, 11, 11, 7 \ Edge 25 EDGE 13, 15, 11, 11, 6 \ Edge 26 EDGE 16, 17, 10, 10, 4 \ Edge 27 EDGE 17, 18, 10, 10, 7 \ Edge 28 EDGE 16, 18, 10, 10, 6 \ Edge 29 .SHIP_SHUTTLE_FACES \ normal_x, normal_y, normal_z, visibility FACE -110, -110, 80, 31 \ Face 0 FACE 0, -149, 7, 31 \ Face 1 FACE -102, -102, 46, 31 \ Face 2 FACE -149, 0, 7, 31 \ Face 3 FACE -102, 102, 46, 31 \ Face 4 FACE 0, 149, 7, 31 \ Face 5 FACE 102, 102, 46, 31 \ Face 6 FACE 149, 0, 7, 31 \ Face 7 FACE 102, -102, 46, 31 \ Face 8 FACE 0, 0, -213, 31 \ Face 9 FACE -81, 81, 177, 31 \ Face 10 FACE 81, 81, 177, 31 \ Face 11 FACE 110, -110, 80, 31 \ Face 12Name: SHIP_SHUTTLE [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Shuttle Deep dive: Ship blueprintsContext: See this variable on its own page Variations: See code variations for this variable in the different versions References: This variable is used as follows: * XX21 uses SHIP_SHUTTLE.SHIP_TRANSPORTER EQUB 0 \ Max. canisters on demise = 0 EQUW 50 * 50 \ Targetable area = 50 * 50 EQUB LO(SHIP_TRANSPORTER_EDGES - SHIP_TRANSPORTER) \ Edges data offset (low) EQUB LO(SHIP_TRANSPORTER_FACES - SHIP_TRANSPORTER) \ Faces data offset (low) EQUB 145 \ Max. edge count = (145 - 1) / 4 = 36 EQUB 48 \ Gun vertex = 48 / 4 = 12 EQUB 26 \ Explosion count = 5, as (4 * n) + 6 = 26 EQUB 222 \ Number of vertices = 222 / 6 = 37 EQUB 46 \ Number of edges = 46 EQUW 0 \ Bounty = 0 EQUB 56 \ Number of faces = 56 / 4 = 14 EQUB 16 \ Visibility distance = 16 EQUB 32 \ Max. energy = 32 EQUB 10 \ Max. speed = 10 EQUB HI(SHIP_TRANSPORTER_EDGES - SHIP_TRANSPORTER) \ Edges data offset (high) EQUB HI(SHIP_TRANSPORTER_FACES - SHIP_TRANSPORTER) \ Faces data offset (high) EQUB 1 \ Normals are scaled by = 2^1 = 2 EQUB %00000000 \ Laser power = 0 \ Missiles = 0 .SHIP_TRANSPORTER_VERTICES \ x, y, z, face1, face2, face3, face4, visibility VERTEX 0, 19, -51, 6, 0, 7, 7, 31 \ Vertex 0 VERTEX -51, 7, -51, 1, 0, 7, 7, 31 \ Vertex 1 VERTEX -57, -7, -51, 1, 0, 2, 2, 31 \ Vertex 2 VERTEX -51, -17, -51, 2, 0, 3, 3, 31 \ Vertex 3 VERTEX 51, -17, -51, 3, 0, 4, 4, 31 \ Vertex 4 VERTEX 57, -7, -51, 4, 0, 5, 5, 31 \ Vertex 5 VERTEX 51, 7, -51, 5, 0, 6, 6, 31 \ Vertex 6 VERTEX 0, 12, 24, 15, 15, 15, 15, 18 \ Vertex 7 VERTEX -60, -2, 24, 7, 1, 9, 8, 31 \ Vertex 8 VERTEX -66, -17, 24, 2, 1, 9, 3, 31 \ Vertex 9 VERTEX 66, -17, 24, 4, 3, 10, 5, 31 \ Vertex 10 VERTEX 60, -2, 24, 6, 5, 11, 10, 31 \ Vertex 11 VERTEX -22, -5, 61, 9, 8, 13, 12, 31 \ Vertex 12 VERTEX -27, -17, 61, 9, 3, 13, 13, 31 \ Vertex 13 VERTEX 27, -17, 61, 10, 3, 13, 13, 31 \ Vertex 14 VERTEX 22, -5, 61, 11, 10, 13, 12, 31 \ Vertex 15 VERTEX -10, 11, 5, 7, 7, 7, 7, 6 \ Vertex 16 VERTEX -36, 5, 5, 7, 7, 7, 7, 6 \ Vertex 17 VERTEX -10, 13, -14, 7, 7, 7, 7, 6 \ Vertex 18 VERTEX -36, 7, -14, 7, 7, 7, 7, 6 \ Vertex 19 VERTEX -23, 12, -29, 7, 7, 7, 7, 6 \ Vertex 20 VERTEX -23, 10, -14, 7, 7, 7, 7, 6 \ Vertex 21 VERTEX 10, 15, -29, 6, 6, 6, 6, 6 \ Vertex 22 VERTEX 36, 9, -29, 6, 6, 6, 6, 6 \ Vertex 23 VERTEX 23, 10, -14, 6, 6, 6, 6, 6 \ Vertex 24 VERTEX 10, 12, -6, 6, 6, 6, 6, 6 \ Vertex 25 VERTEX 36, 6, -6, 6, 6, 6, 6, 6 \ Vertex 26 VERTEX 23, 7, 16, 6, 6, 6, 6, 6 \ Vertex 27 VERTEX 23, 9, -6, 6, 6, 6, 6, 6 \ Vertex 28 VERTEX -33, -17, -26, 3, 3, 3, 3, 5 \ Vertex 29 VERTEX -33, -17, 33, 3, 3, 3, 3, 5 \ Vertex 30 VERTEX 33, -17, -26, 3, 3, 3, 3, 5 \ Vertex 31 VERTEX 33, -17, 33, 3, 3, 3, 3, 5 \ Vertex 32 VERTEX -25, -6, -51, 0, 0, 0, 0, 7 \ Vertex 33 VERTEX 26, -6, -51, 0, 0, 0, 0, 7 \ Vertex 34 VERTEX 17, 6, -51, 0, 0, 0, 0, 4 \ Vertex 35 VERTEX -17, 6, -51, 0, 0, 0, 0, 4 \ Vertex 36 .SHIP_TRANSPORTER_EDGES \ vertex1, vertex2, face1, face2, visibility EDGE 0, 1, 7, 0, 31 \ Edge 0 EDGE 1, 2, 1, 0, 31 \ Edge 1 EDGE 2, 3, 2, 0, 31 \ Edge 2 EDGE 3, 4, 3, 0, 31 \ Edge 3 EDGE 4, 5, 4, 0, 31 \ Edge 4 EDGE 5, 6, 5, 0, 31 \ Edge 5 EDGE 0, 6, 6, 0, 31 \ Edge 6 EDGE 0, 7, 7, 6, 15 \ Edge 7 EDGE 1, 8, 7, 1, 31 \ Edge 8 EDGE 2, 9, 2, 1, 10 \ Edge 9 EDGE 3, 9, 3, 2, 31 \ Edge 10 EDGE 4, 10, 4, 3, 31 \ Edge 11 EDGE 5, 10, 5, 4, 10 \ Edge 12 EDGE 6, 11, 6, 5, 31 \ Edge 13 EDGE 7, 8, 8, 7, 16 \ Edge 14 EDGE 8, 9, 9, 1, 16 \ Edge 15 EDGE 10, 11, 10, 5, 16 \ Edge 16 EDGE 7, 11, 11, 6, 16 \ Edge 17 EDGE 7, 15, 12, 11, 18 \ Edge 18 EDGE 7, 12, 12, 8, 18 \ Edge 19 EDGE 8, 12, 9, 8, 16 \ Edge 20 EDGE 9, 13, 9, 3, 31 \ Edge 21 EDGE 10, 14, 10, 3, 31 \ Edge 22 EDGE 11, 15, 11, 10, 16 \ Edge 23 EDGE 12, 13, 13, 9, 31 \ Edge 24 EDGE 13, 14, 13, 3, 31 \ Edge 25 EDGE 14, 15, 13, 10, 31 \ Edge 26 EDGE 12, 15, 13, 12, 31 \ Edge 27 EDGE 16, 17, 7, 7, 6 \ Edge 28 EDGE 18, 19, 7, 7, 6 \ Edge 29 EDGE 19, 20, 7, 7, 6 \ Edge 30 EDGE 18, 20, 7, 7, 6 \ Edge 31 EDGE 20, 21, 7, 7, 6 \ Edge 32 EDGE 22, 23, 6, 6, 6 \ Edge 33 EDGE 23, 24, 6, 6, 6 \ Edge 34 EDGE 24, 22, 6, 6, 6 \ Edge 35 EDGE 25, 26, 6, 6, 6 \ Edge 36 EDGE 26, 27, 6, 6, 6 \ Edge 37 EDGE 25, 27, 6, 6, 6 \ Edge 38 EDGE 27, 28, 6, 6, 6 \ Edge 39 EDGE 29, 30, 3, 3, 5 \ Edge 40 EDGE 31, 32, 3, 3, 5 \ Edge 41 EDGE 33, 34, 0, 0, 7 \ Edge 42 EDGE 34, 35, 0, 0, 4 \ Edge 43 EDGE 35, 36, 0, 0, 4 \ Edge 44 EDGE 36, 33, 0, 0, 4 \ Edge 45 .SHIP_TRANSPORTER_FACES \ normal_x, normal_y, normal_z, visibility FACE 0, 0, -103, 31 \ Face 0 FACE -111, 48, -7, 31 \ Face 1 FACE -105, -63, -21, 31 \ Face 2 FACE 0, -34, 0, 31 \ Face 3 FACE 105, -63, -21, 31 \ Face 4 FACE 111, 48, -7, 31 \ Face 5 FACE 8, 32, 3, 31 \ Face 6 FACE -8, 32, 3, 31 \ Face 7 FACE -8, 34, 11, 18 \ Face 8 FACE -75, 32, 79, 31 \ Face 9 FACE 75, 32, 79, 31 \ Face 10 FACE 8, 34, 11, 18 \ Face 11 FACE 0, 38, 17, 31 \ Face 12 FACE 0, 0, 121, 31 \ Face 13Name: SHIP_TRANSPORTER [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Transporter Deep dive: Ship blueprintsContext: See this variable on its own page Variations: See code variations for this variable in the different versions References: This variable is used as follows: * XX21 uses SHIP_TRANSPORTER.SHIP_COBRA_MK_3 EQUB 3 \ Max. canisters on demise = 3 EQUW 95 * 95 \ Targetable area = 95 * 95 EQUB LO(SHIP_COBRA_MK_3_EDGES - SHIP_COBRA_MK_3) \ Edges data offset (low) EQUB LO(SHIP_COBRA_MK_3_FACES - SHIP_COBRA_MK_3) \ Faces data offset (low) EQUB 153 \ Max. edge count = (153 - 1) / 4 = 38 EQUB 84 \ Gun vertex = 84 / 4 = 21 EQUB 42 \ Explosion count = 9, as (4 * n) + 6 = 42 EQUB 168 \ Number of vertices = 168 / 6 = 28 EQUB 38 \ Number of edges = 38 EQUW 0 \ Bounty = 0 EQUB 52 \ Number of faces = 52 / 4 = 13 EQUB 50 \ Visibility distance = 50 EQUB 150 \ Max. energy = 150 EQUB 28 \ Max. speed = 28 EQUB HI(SHIP_COBRA_MK_3_EDGES - SHIP_COBRA_MK_3) \ Edges data offset (low) EQUB HI(SHIP_COBRA_MK_3_FACES - SHIP_COBRA_MK_3) \ Faces data offset (low) EQUB 1 \ Normals are scaled by = 2^1 = 2 EQUB %00010011 \ Laser power = 2 \ Missiles = 3 .SHIP_COBRA_MK_3_VERTICES \ x, y, z, face1, face2, face3, face4, visibility VERTEX 32, 0, 76, 15, 15, 15, 15, 31 \ Vertex 0 VERTEX -32, 0, 76, 15, 15, 15, 15, 31 \ Vertex 1 VERTEX 0, 26, 24, 15, 15, 15, 15, 31 \ Vertex 2 VERTEX -120, -3, -8, 3, 7, 10, 10, 31 \ Vertex 3 VERTEX 120, -3, -8, 4, 8, 12, 12, 31 \ Vertex 4 VERTEX -88, 16, -40, 15, 15, 15, 15, 31 \ Vertex 5 VERTEX 88, 16, -40, 15, 15, 15, 15, 31 \ Vertex 6 VERTEX 128, -8, -40, 8, 9, 12, 12, 31 \ Vertex 7 VERTEX -128, -8, -40, 7, 9, 10, 10, 31 \ Vertex 8 VERTEX 0, 26, -40, 5, 6, 9, 9, 31 \ Vertex 9 VERTEX -32, -24, -40, 9, 10, 11, 11, 31 \ Vertex 10 VERTEX 32, -24, -40, 9, 11, 12, 12, 31 \ Vertex 11 VERTEX -36, 8, -40, 9, 9, 9, 9, 20 \ Vertex 12 VERTEX -8, 12, -40, 9, 9, 9, 9, 20 \ Vertex 13 VERTEX 8, 12, -40, 9, 9, 9, 9, 20 \ Vertex 14 VERTEX 36, 8, -40, 9, 9, 9, 9, 20 \ Vertex 15 VERTEX 36, -12, -40, 9, 9, 9, 9, 20 \ Vertex 16 VERTEX 8, -16, -40, 9, 9, 9, 9, 20 \ Vertex 17 VERTEX -8, -16, -40, 9, 9, 9, 9, 20 \ Vertex 18 VERTEX -36, -12, -40, 9, 9, 9, 9, 20 \ Vertex 19 VERTEX 0, 0, 76, 0, 11, 11, 11, 6 \ Vertex 20 VERTEX 0, 0, 90, 0, 11, 11, 11, 31 \ Vertex 21 VERTEX -80, -6, -40, 9, 9, 9, 9, 8 \ Vertex 22 VERTEX -80, 6, -40, 9, 9, 9, 9, 8 \ Vertex 23 VERTEX -88, 0, -40, 9, 9, 9, 9, 6 \ Vertex 24 VERTEX 80, 6, -40, 9, 9, 9, 9, 8 \ Vertex 25 VERTEX 88, 0, -40, 9, 9, 9, 9, 6 \ Vertex 26 VERTEX 80, -6, -40, 9, 9, 9, 9, 8 \ Vertex 27 .SHIP_COBRA_MK_3_EDGES \ vertex1, vertex2, face1, face2, visibility EDGE 0, 1, 0, 11, 31 \ Edge 0 EDGE 0, 4, 4, 12, 31 \ Edge 1 EDGE 1, 3, 3, 10, 31 \ Edge 2 EDGE 3, 8, 7, 10, 31 \ Edge 3 EDGE 4, 7, 8, 12, 31 \ Edge 4 EDGE 6, 7, 8, 9, 31 \ Edge 5 EDGE 6, 9, 6, 9, 31 \ Edge 6 EDGE 5, 9, 5, 9, 31 \ Edge 7 EDGE 5, 8, 7, 9, 31 \ Edge 8 EDGE 2, 5, 1, 5, 31 \ Edge 9 EDGE 2, 6, 2, 6, 31 \ Edge 10 EDGE 3, 5, 3, 7, 31 \ Edge 11 EDGE 4, 6, 4, 8, 31 \ Edge 12 EDGE 1, 2, 0, 1, 31 \ Edge 13 EDGE 0, 2, 0, 2, 31 \ Edge 14 EDGE 8, 10, 9, 10, 31 \ Edge 15 EDGE 10, 11, 9, 11, 31 \ Edge 16 EDGE 7, 11, 9, 12, 31 \ Edge 17 EDGE 1, 10, 10, 11, 31 \ Edge 18 EDGE 0, 11, 11, 12, 31 \ Edge 19 EDGE 1, 5, 1, 3, 29 \ Edge 20 EDGE 0, 6, 2, 4, 29 \ Edge 21 EDGE 20, 21, 0, 11, 6 \ Edge 22 EDGE 12, 13, 9, 9, 20 \ Edge 23 EDGE 18, 19, 9, 9, 20 \ Edge 24 EDGE 14, 15, 9, 9, 20 \ Edge 25 EDGE 16, 17, 9, 9, 20 \ Edge 26 EDGE 15, 16, 9, 9, 19 \ Edge 27 EDGE 14, 17, 9, 9, 17 \ Edge 28 EDGE 13, 18, 9, 9, 19 \ Edge 29 EDGE 12, 19, 9, 9, 19 \ Edge 30 EDGE 2, 9, 5, 6, 30 \ Edge 31 EDGE 22, 24, 9, 9, 6 \ Edge 32 EDGE 23, 24, 9, 9, 6 \ Edge 33 EDGE 22, 23, 9, 9, 8 \ Edge 34 EDGE 25, 26, 9, 9, 6 \ Edge 35 EDGE 26, 27, 9, 9, 6 \ Edge 36 EDGE 25, 27, 9, 9, 8 \ Edge 37 .SHIP_COBRA_MK_3_FACES \ normal_x, normal_y, normal_z, visibility FACE 0, 62, 31, 31 \ Face 0 FACE -18, 55, 16, 31 \ Face 1 FACE 18, 55, 16, 31 \ Face 2 FACE -16, 52, 14, 31 \ Face 3 FACE 16, 52, 14, 31 \ Face 4 FACE -14, 47, 0, 31 \ Face 5 FACE 14, 47, 0, 31 \ Face 6 FACE -61, 102, 0, 31 \ Face 7 FACE 61, 102, 0, 31 \ Face 8 FACE 0, 0, -80, 31 \ Face 9 FACE -7, -42, 9, 31 \ Face 10 FACE 0, -30, 6, 31 \ Face 11 FACE 7, -42, 9, 31 \ Face 12Name: SHIP_COBRA_MK_3 [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Cobra Mk III Deep dive: Ship blueprintsContext: See this variable on its own page Variations: See code variations for this variable in the different versions References: This variable is used as follows: * XX21 uses SHIP_COBRA_MK_3.SHIP_PYTHON EQUB 5 \ Max. canisters on demise = 5 EQUW 80 * 80 \ Targetable area = 80 * 80 EQUB LO(SHIP_PYTHON_EDGES - SHIP_PYTHON) \ Edges data offset (low) EQUB LO(SHIP_PYTHON_FACES - SHIP_PYTHON) \ Faces data offset (low) EQUB 85 \ Max. edge count = (85 - 1) / 4 = 21 EQUB 0 \ Gun vertex = 0 EQUB 42 \ Explosion count = 9, as (4 * n) + 6 = 42 EQUB 66 \ Number of vertices = 66 / 6 = 11 EQUB 26 \ Number of edges = 26 EQUW 0 \ Bounty = 0 EQUB 52 \ Number of faces = 52 / 4 = 13 EQUB 40 \ Visibility distance = 40 EQUB 250 \ Max. energy = 250 EQUB 20 \ Max. speed = 20 EQUB HI(SHIP_PYTHON_EDGES - SHIP_PYTHON) \ Edges data offset (high) EQUB HI(SHIP_PYTHON_FACES - SHIP_PYTHON) \ Faces data offset (high) EQUB 0 \ Normals are scaled by = 2^0 = 1 EQUB %00011011 \ Laser power = 3 \ Missiles = 3 .SHIP_PYTHON_VERTICES \ x, y, z, face1, face2, face3, face4, visibility VERTEX 0, 0, 224, 0, 1, 2, 3, 31 \ Vertex 0 VERTEX 0, 48, 48, 0, 1, 4, 5, 30 \ Vertex 1 VERTEX 96, 0, -16, 15, 15, 15, 15, 31 \ Vertex 2 VERTEX -96, 0, -16, 15, 15, 15, 15, 31 \ Vertex 3 VERTEX 0, 48, -32, 4, 5, 8, 9, 30 \ Vertex 4 VERTEX 0, 24, -112, 9, 8, 12, 12, 31 \ Vertex 5 VERTEX -48, 0, -112, 8, 11, 12, 12, 31 \ Vertex 6 VERTEX 48, 0, -112, 9, 10, 12, 12, 31 \ Vertex 7 VERTEX 0, -48, 48, 2, 3, 6, 7, 30 \ Vertex 8 VERTEX 0, -48, -32, 6, 7, 10, 11, 30 \ Vertex 9 VERTEX 0, -24, -112, 10, 11, 12, 12, 30 \ Vertex 10 .SHIP_PYTHON_EDGES \ vertex1, vertex2, face1, face2, visibility EDGE 0, 8, 2, 3, 30 \ Edge 0 EDGE 0, 3, 0, 2, 31 \ Edge 1 EDGE 0, 2, 1, 3, 31 \ Edge 2 EDGE 0, 1, 0, 1, 30 \ Edge 3 EDGE 2, 4, 9, 5, 29 \ Edge 4 EDGE 1, 2, 1, 5, 29 \ Edge 5 EDGE 2, 8, 7, 3, 29 \ Edge 6 EDGE 1, 3, 0, 4, 29 \ Edge 7 EDGE 3, 8, 2, 6, 29 \ Edge 8 EDGE 2, 9, 7, 10, 29 \ Edge 9 EDGE 3, 4, 4, 8, 29 \ Edge 10 EDGE 3, 9, 6, 11, 29 \ Edge 11 EDGE 3, 5, 8, 8, 5 \ Edge 12 EDGE 3, 10, 11, 11, 5 \ Edge 13 EDGE 2, 5, 9, 9, 5 \ Edge 14 EDGE 2, 10, 10, 10, 5 \ Edge 15 EDGE 2, 7, 9, 10, 31 \ Edge 16 EDGE 3, 6, 8, 11, 31 \ Edge 17 EDGE 5, 6, 8, 12, 31 \ Edge 18 EDGE 5, 7, 9, 12, 31 \ Edge 19 EDGE 7, 10, 12, 10, 29 \ Edge 20 EDGE 6, 10, 11, 12, 29 \ Edge 21 EDGE 4, 5, 8, 9, 29 \ Edge 22 EDGE 9, 10, 10, 11, 29 \ Edge 23 EDGE 1, 4, 4, 5, 29 \ Edge 24 EDGE 8, 9, 6, 7, 29 \ Edge 25 .SHIP_PYTHON_FACES \ normal_x, normal_y, normal_z, visibility FACE -27, 40, 11, 30 \ Face 0 FACE 27, 40, 11, 30 \ Face 1 FACE -27, -40, 11, 30 \ Face 2 FACE 27, -40, 11, 30 \ Face 3 FACE -19, 38, 0, 30 \ Face 4 FACE 19, 38, 0, 30 \ Face 5 FACE -19, -38, 0, 30 \ Face 6 FACE 19, -38, 0, 30 \ Face 7 FACE -25, 37, -11, 30 \ Face 8 FACE 25, 37, -11, 30 \ Face 9 FACE 25, -37, -11, 30 \ Face 10 FACE -25, -37, -11, 30 \ Face 11 FACE 0, 0, -112, 30 \ Face 12Name: SHIP_PYTHON [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Python Deep dive: Ship blueprintsContext: See this variable on its own page Variations: See code variations for this variable in the different versions References: This variable is used as follows: * XX21 uses SHIP_PYTHON.SHIP_VIPER EQUB 0 \ Max. canisters on demise = 0 EQUW 75 * 75 \ Targetable area = 75 * 75 EQUB LO(SHIP_VIPER_EDGES - SHIP_VIPER) \ Edges data offset (low) EQUB LO(SHIP_VIPER_FACES - SHIP_VIPER) \ Faces data offset (low) EQUB 77 \ Max. edge count = (77 - 1) / 4 = 19 EQUB 0 \ Gun vertex = 0 EQUB 42 \ Explosion count = 9, as (4 * n) + 6 = 42 EQUB 90 \ Number of vertices = 90 / 6 = 15 EQUB 20 \ Number of edges = 20 EQUW 0 \ Bounty = 0 EQUB 28 \ Number of faces = 28 / 4 = 7 EQUB 23 \ Visibility distance = 23 EQUB 100 \ Max. energy = 100 EQUB 32 \ Max. speed = 32 EQUB HI(SHIP_VIPER_EDGES - SHIP_VIPER) \ Edges data offset (high) EQUB HI(SHIP_VIPER_FACES - SHIP_VIPER) \ Faces data offset (high) EQUB 1 \ Normals are scaled by = 2^1 = 2 EQUB %00010001 \ Laser power = 2 \ Missiles = 1 .SHIP_VIPER_VERTICES \ x, y, z, face1, face2, face3, face4, visibility VERTEX 0, 0, 72, 1, 2, 3, 4, 31 \ Vertex 0 VERTEX 0, 16, 24, 0, 1, 2, 2, 30 \ Vertex 1 VERTEX 0, -16, 24, 3, 4, 5, 5, 30 \ Vertex 2 VERTEX 48, 0, -24, 2, 4, 6, 6, 31 \ Vertex 3 VERTEX -48, 0, -24, 1, 3, 6, 6, 31 \ Vertex 4 VERTEX 24, -16, -24, 4, 5, 6, 6, 30 \ Vertex 5 VERTEX -24, -16, -24, 5, 3, 6, 6, 30 \ Vertex 6 VERTEX 24, 16, -24, 0, 2, 6, 6, 31 \ Vertex 7 VERTEX -24, 16, -24, 0, 1, 6, 6, 31 \ Vertex 8 VERTEX -32, 0, -24, 6, 6, 6, 6, 19 \ Vertex 9 VERTEX 32, 0, -24, 6, 6, 6, 6, 19 \ Vertex 10 VERTEX 8, 8, -24, 6, 6, 6, 6, 19 \ Vertex 11 VERTEX -8, 8, -24, 6, 6, 6, 6, 19 \ Vertex 12 VERTEX -8, -8, -24, 6, 6, 6, 6, 18 \ Vertex 13 VERTEX 8, -8, -24, 6, 6, 6, 6, 18 \ Vertex 14 .SHIP_VIPER_EDGES \ vertex1, vertex2, face1, face2, visibility EDGE 0, 3, 2, 4, 31 \ Edge 0 EDGE 0, 1, 1, 2, 30 \ Edge 1 EDGE 0, 2, 3, 4, 30 \ Edge 2 EDGE 0, 4, 1, 3, 31 \ Edge 3 EDGE 1, 7, 0, 2, 30 \ Edge 4 EDGE 1, 8, 0, 1, 30 \ Edge 5 EDGE 2, 5, 4, 5, 30 \ Edge 6 EDGE 2, 6, 3, 5, 30 \ Edge 7 EDGE 7, 8, 0, 6, 31 \ Edge 8 EDGE 5, 6, 5, 6, 30 \ Edge 9 EDGE 4, 8, 1, 6, 31 \ Edge 10 EDGE 4, 6, 3, 6, 30 \ Edge 11 EDGE 3, 7, 2, 6, 31 \ Edge 12 EDGE 3, 5, 6, 4, 30 \ Edge 13 EDGE 9, 12, 6, 6, 19 \ Edge 14 EDGE 9, 13, 6, 6, 18 \ Edge 15 EDGE 10, 11, 6, 6, 19 \ Edge 16 EDGE 10, 14, 6, 6, 18 \ Edge 17 EDGE 11, 14, 6, 6, 16 \ Edge 18 EDGE 12, 13, 6, 6, 16 \ Edge 19 .SHIP_VIPER_FACES \ normal_x, normal_y, normal_z, visibility FACE 0, 32, 0, 31 \ Face 0 FACE -22, 33, 11, 31 \ Face 1 FACE 22, 33, 11, 31 \ Face 2 FACE -22, -33, 11, 31 \ Face 3 FACE 22, -33, 11, 31 \ Face 4 FACE 0, -32, 0, 31 \ Face 5 FACE 0, 0, -48, 31 \ Face 6Name: SHIP_VIPER [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Viper Deep dive: Ship blueprintsContext: See this variable on its own page Variations: See code variations for this variable in the different versions References: This variable is used as follows: * XX21 uses SHIP_VIPER.SHIP_KRAIT EQUB 1 \ Max. canisters on demise = 1 EQUW 60 * 60 \ Targetable area = 60 * 60 EQUB LO(SHIP_KRAIT_EDGES - SHIP_KRAIT) \ Edges data offset (low) EQUB LO(SHIP_KRAIT_FACES - SHIP_KRAIT) \ Faces data offset (low) EQUB 85 \ Max. edge count = (85 - 1) / 4 = 21 EQUB 0 \ Gun vertex = 0 EQUB 18 \ Explosion count = 3, as (4 * n) + 6 = 18 EQUB 102 \ Number of vertices = 102 / 6 = 17 EQUB 21 \ Number of edges = 21 EQUW 100 \ Bounty = 100 EQUB 24 \ Number of faces = 24 / 4 = 6 EQUB 20 \ Visibility distance = 20 EQUB 80 \ Max. energy = 80 EQUB 30 \ Max. speed = 30 EQUB HI(SHIP_KRAIT_EDGES - SHIP_KRAIT) \ Edges data offset (high) EQUB HI(SHIP_KRAIT_FACES - SHIP_KRAIT) \ Faces data offset (high) EQUB 2 \ Normals are scaled by = 2^2 = 4 EQUB %00010000 \ Laser power = 2 \ Missiles = 0 .SHIP_KRAIT_VERTICES \ x, y, z, face1, face2, face3, face4, visibility VERTEX 0, 0, 96, 1, 0, 3, 2, 31 \ Vertex 0 VERTEX 0, 18, -48, 3, 0, 5, 4, 31 \ Vertex 1 VERTEX 0, -18, -48, 2, 1, 5, 4, 31 \ Vertex 2 VERTEX 90, 0, -3, 1, 0, 4, 4, 31 \ Vertex 3 VERTEX -90, 0, -3, 3, 2, 5, 5, 31 \ Vertex 4 VERTEX 90, 0, 87, 1, 0, 1, 1, 28 \ Vertex 5 VERTEX -90, 0, 87, 3, 2, 3, 3, 28 \ Vertex 6 VERTEX 0, 5, 53, 0, 0, 3, 3, 9 \ Vertex 7 VERTEX 0, 7, 38, 0, 0, 3, 3, 6 \ Vertex 8 VERTEX -18, 7, 19, 3, 3, 3, 3, 9 \ Vertex 9 VERTEX 18, 7, 19, 0, 0, 0, 0, 9 \ Vertex 10 VERTEX 18, 11, -39, 4, 4, 4, 4, 8 \ Vertex 11 VERTEX 18, -11, -39, 4, 4, 4, 4, 8 \ Vertex 12 VERTEX 36, 0, -30, 4, 4, 4, 4, 8 \ Vertex 13 VERTEX -18, 11, -39, 5, 5, 5, 5, 8 \ Vertex 14 VERTEX -18, -11, -39, 5, 5, 5, 5, 8 \ Vertex 15 VERTEX -36, 0, -30, 5, 5, 5, 5, 8 \ Vertex 16 .SHIP_KRAIT_EDGES \ vertex1, vertex2, face1, face2, visibility EDGE 0, 1, 3, 0, 31 \ Edge 0 EDGE 0, 2, 2, 1, 31 \ Edge 1 EDGE 0, 3, 1, 0, 31 \ Edge 2 EDGE 0, 4, 3, 2, 31 \ Edge 3 EDGE 1, 4, 5, 3, 31 \ Edge 4 EDGE 4, 2, 5, 2, 31 \ Edge 5 EDGE 2, 3, 4, 1, 31 \ Edge 6 EDGE 3, 1, 4, 0, 31 \ Edge 7 EDGE 3, 5, 1, 0, 28 \ Edge 8 EDGE 4, 6, 3, 2, 28 \ Edge 9 EDGE 1, 2, 5, 4, 5 \ Edge 10 EDGE 7, 10, 0, 0, 9 \ Edge 11 EDGE 8, 10, 0, 0, 6 \ Edge 12 EDGE 7, 9, 3, 3, 9 \ Edge 13 EDGE 8, 9, 3, 3, 6 \ Edge 14 EDGE 11, 13, 4, 4, 8 \ Edge 15 EDGE 13, 12, 4, 4, 8 \ Edge 16 EDGE 12, 11, 4, 4, 7 \ Edge 17 EDGE 14, 15, 5, 5, 7 \ Edge 18 EDGE 15, 16, 5, 5, 8 \ Edge 19 EDGE 16, 14, 5, 5, 8 \ Edge 20 .SHIP_KRAIT_FACES \ normal_x, normal_y, normal_z, visibility FACE 7, 48, 6, 31 \ Face 0 FACE 7, -48, 6, 31 \ Face 1 FACE -7, -48, 6, 31 \ Face 2 FACE -7, 48, 6, 31 \ Face 3 FACE 77, 0, -154, 31 \ Face 4 FACE -77, 0, -154, 31 \ Face 5Name: SHIP_KRAIT [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Krait Deep dive: Ship blueprintsContext: See this variable on its own page Variations: See code variations for this variable in the different versions References: This variable is used as follows: * XX21 uses SHIP_KRAIT.SHIP_CONSTRICTOR EQUB 3 + (15 << 4) \ Max. canisters on demise = 3 \ Market item when scooped = 15 + 1 = 16 (alien items) EQUW 99 * 99 \ Targetable area = 99 * 99 EQUB LO(SHIP_CONSTRICTOR_EDGES - SHIP_CONSTRICTOR) \ Edges data offset (low) EQUB LO(SHIP_CONSTRICTOR_FACES - SHIP_CONSTRICTOR) \ Faces data offset (low) EQUB 77 \ Max. edge count = (77 - 1) / 4 = 19 EQUB 0 \ Gun vertex = 0 EQUB 46 \ Explosion count = 10, as (4 * n) + 6 = 46 EQUB 102 \ Number of vertices = 102 / 6 = 17 EQUB 24 \ Number of edges = 24 EQUW 0 \ Bounty = 0 EQUB 40 \ Number of faces = 40 / 4 = 10 EQUB 45 \ Visibility distance = 45 EQUB 200 \ Max. energy = 200 EQUB 55 \ Max. speed = 55 EQUB HI(SHIP_CONSTRICTOR_EDGES - SHIP_CONSTRICTOR) \ Edges data offset (high) EQUB HI(SHIP_CONSTRICTOR_FACES - SHIP_CONSTRICTOR) \ Faces data offset (high) EQUB 2 \ Normals are scaled by = 2^2 = 4 EQUB %00101111 \ Laser power = 5 \ Missiles = 7 .SHIP_CONSTRICTOR_VERTICES \ x, y, z, face1, face2, face3, face4, visibility VERTEX 20, -7, 80, 2, 0, 9, 9, 31 \ Vertex 0 VERTEX -20, -7, 80, 1, 0, 9, 9, 31 \ Vertex 1 VERTEX -54, -7, 40, 4, 1, 9, 9, 31 \ Vertex 2 VERTEX -54, -7, -40, 5, 4, 9, 8, 31 \ Vertex 3 VERTEX -20, 13, -40, 6, 5, 8, 8, 31 \ Vertex 4 VERTEX 20, 13, -40, 7, 6, 8, 8, 31 \ Vertex 5 VERTEX 54, -7, -40, 7, 3, 9, 8, 31 \ Vertex 6 VERTEX 54, -7, 40, 3, 2, 9, 9, 31 \ Vertex 7 VERTEX 20, 13, 5, 15, 15, 15, 15, 31 \ Vertex 8 VERTEX -20, 13, 5, 15, 15, 15, 15, 31 \ Vertex 9 VERTEX 20, -7, 62, 9, 9, 9, 9, 18 \ Vertex 10 VERTEX -20, -7, 62, 9, 9, 9, 9, 18 \ Vertex 11 VERTEX 25, -7, -25, 9, 9, 9, 9, 18 \ Vertex 12 VERTEX -25, -7, -25, 9, 9, 9, 9, 18 \ Vertex 13 VERTEX 15, -7, -15, 9, 9, 9, 9, 10 \ Vertex 14 VERTEX -15, -7, -15, 9, 9, 9, 9, 10 \ Vertex 15 VERTEX 0, -7, 0, 15, 9, 1, 0, 0 \ Vertex 16 .SHIP_CONSTRICTOR_EDGES \ vertex1, vertex2, face1, face2, visibility EDGE 0, 1, 9, 0, 31 \ Edge 0 EDGE 1, 2, 9, 1, 31 \ Edge 1 EDGE 1, 9, 1, 0, 31 \ Edge 2 EDGE 0, 8, 2, 0, 31 \ Edge 3 EDGE 0, 7, 9, 2, 31 \ Edge 4 EDGE 7, 8, 3, 2, 31 \ Edge 5 EDGE 2, 9, 4, 1, 31 \ Edge 6 EDGE 2, 3, 9, 4, 31 \ Edge 7 EDGE 6, 7, 9, 3, 31 \ Edge 8 EDGE 6, 8, 7, 3, 31 \ Edge 9 EDGE 5, 8, 7, 6, 31 \ Edge 10 EDGE 4, 9, 6, 5, 31 \ Edge 11 EDGE 3, 9, 5, 4, 31 \ Edge 12 EDGE 3, 4, 8, 5, 31 \ Edge 13 EDGE 4, 5, 8, 6, 31 \ Edge 14 EDGE 5, 6, 8, 7, 31 \ Edge 15 EDGE 3, 6, 9, 8, 31 \ Edge 16 EDGE 8, 9, 6, 0, 31 \ Edge 17 EDGE 10, 12, 9, 9, 18 \ Edge 18 EDGE 12, 14, 9, 9, 5 \ Edge 19 EDGE 14, 10, 9, 9, 10 \ Edge 20 EDGE 11, 15, 9, 9, 10 \ Edge 21 EDGE 13, 15, 9, 9, 5 \ Edge 22 EDGE 11, 13, 9, 9, 18 \ Edge 23 .SHIP_CONSTRICTOR_FACES \ normal_x, normal_y, normal_z, visibility FACE 0, 55, 15, 31 \ Face 0 FACE -24, 75, 20, 31 \ Face 1 FACE 24, 75, 20, 31 \ Face 2 FACE 44, 75, 0, 31 \ Face 3 FACE -44, 75, 0, 31 \ Face 4 FACE -44, 75, 0, 31 \ Face 5 FACE 0, 53, 0, 31 \ Face 6 FACE 44, 75, 0, 31 \ Face 7 FACE 0, 0, -160, 31 \ Face 8 FACE 0, -27, 0, 31 \ Face 9 SKIP 171 \ These bytes appear to be unusedName: SHIP_CONSTRICTOR [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Constrictor Deep dive: Ship blueprintsContext: See this variable on its own page Variations: See code variations for this variable in the different versions References: This variable is used as follows: * XX21 uses SHIP_CONSTRICTORPRINT "SHIPS" PRINT "Assembled at ", ~CODE_SHIPS% PRINT "Ends at ", ~P% PRINT "Code size is ", ~(P% - CODE_SHIPS%) PRINT "Execute at ", ~LOAD% PRINT "Reload at ", ~LOAD_SHIPS% PRINT "S.SHIPS ", ~CODE_B%, " ", ~P%, " ", ~LOAD%, " ", ~LOAD_SHIPS% \SAVE "3-assembled-output/SHIPS.bin", CODE_SHIPS%, P%, LOAD%Save SHIPS.binPRINT "S.T.CODE ", ~CODE%, " ", ~P%, " ", ~LOAD%, " ", ~LOAD% SAVE "3-assembled-output/T.CODE.unprot.bin", CODE%, P%Save T.CODE.unprot.bin
[X]
Macro EDGE (category: Drawing ships)
Macro definition for adding edges to ship blueprints
[X]
Macro FACE (category: Drawing ships)
Macro definition for adding faces to ship blueprints
[X]
Variable SHIP_CANISTER (category: Drawing ships)
Ship blueprint for a cargo canister
[X]
Label SHIP_CANISTER_EDGES in variable SHIP_CANISTER
[X]
Label SHIP_CANISTER_FACES in variable SHIP_CANISTER
[X]
Variable SHIP_COBRA_MK_3 (category: Drawing ships)
Ship blueprint for a Cobra Mk III
[X]
Label SHIP_COBRA_MK_3_EDGES in variable SHIP_COBRA_MK_3
[X]
Label SHIP_COBRA_MK_3_FACES in variable SHIP_COBRA_MK_3
[X]
Variable SHIP_CONSTRICTOR (category: Drawing ships)
Ship blueprint for a Constrictor
[X]
Label SHIP_CONSTRICTOR_EDGES in variable SHIP_CONSTRICTOR
[X]
Label SHIP_CONSTRICTOR_FACES in variable SHIP_CONSTRICTOR
[X]
Variable SHIP_KRAIT (category: Drawing ships)
Ship blueprint for a Krait
[X]
Label SHIP_KRAIT_EDGES in variable SHIP_KRAIT
[X]
Label SHIP_KRAIT_FACES in variable SHIP_KRAIT
[X]
Configuration variable SHIP_MISSILE
The address of the missile ship blueprint, as set in elite-loader3.asm
[X]
Variable SHIP_PYTHON (category: Drawing ships)
Ship blueprint for a Python
[X]
Label SHIP_PYTHON_EDGES in variable SHIP_PYTHON
[X]
Label SHIP_PYTHON_FACES in variable SHIP_PYTHON
[X]
Variable SHIP_SHUTTLE (category: Drawing ships)
Ship blueprint for a Shuttle
[X]
Label SHIP_SHUTTLE_EDGES in variable SHIP_SHUTTLE
[X]
Label SHIP_SHUTTLE_FACES in variable SHIP_SHUTTLE
[X]
Variable SHIP_TRANSPORTER (category: Drawing ships)
Ship blueprint for a Transporter
[X]
Label SHIP_TRANSPORTER_EDGES in variable SHIP_TRANSPORTER
[X]
Label SHIP_TRANSPORTER_FACES in variable SHIP_TRANSPORTER
[X]
Variable SHIP_VIPER (category: Drawing ships)
Ship blueprint for a Viper
[X]
Label SHIP_VIPER_EDGES in variable SHIP_VIPER
[X]
Label SHIP_VIPER_FACES in variable SHIP_VIPER
[X]
Macro VERTEX (category: Drawing ships)
Macro definition for adding vertices to ship blueprints
[X]
[X]
[X]