Skip to navigation


Ship blueprints

[Elite-A]

ELITE SHIP HANGAR BLUEPRINTS FILE
CODE_SHIPS% = P% LOAD_SHIPS% = LOAD% + P% - CODE%
Name: XX21 [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprints lookup table for the ship hangar Deep dive: Ship blueprints in the BBC Micro disc version
Context: See this variable on its own page References: This variable is used as follows: * HAS1 uses XX21 * NWSHP uses XX21
.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 = Constrictor
Name: 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 flags
Context: See this variable on its own page References: No direct references to this variable in this source file
.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 pod
Name: VERTEX [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding vertices to ship blueprints Deep dive: Ship blueprints Drawing ships
Context: 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
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
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 ENDMACRO
Name: EDGE [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding edges to ship blueprints Deep dive: Ship blueprints Drawing ships
Context: 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
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
Name: FACE [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding faces to ship blueprints Deep dive: Ship blueprints Drawing ships
Context: 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
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
MACRO 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 ENDMACRO
Name: SHIP_CANISTER [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a cargo canister Deep dive: Ship blueprints
Context: See this variable on its own page References: This variable is used as follows: * XX21 uses SHIP_CANISTER
.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 \ --- Mod: Code removed for Elite-A: ------------------> \EQUB 17 \ Max. energy = 17 \ --- And replaced by: --------------------------------> EQUB 8 \ Max. energy = 8 \ --- End of replacement ------------------------------> 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 6
Name: SHIP_SHUTTLE [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Shuttle Deep dive: Ship blueprints
Context: See this variable on its own page References: This variable is used as follows: * XX21 uses SHIP_SHUTTLE
.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 12
Name: SHIP_TRANSPORTER [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Transporter Deep dive: Ship blueprints
Context: See this variable on its own page References: This variable is used as follows: * XX21 uses SHIP_TRANSPORTER
.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 13
Name: SHIP_COBRA_MK_3 [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Cobra Mk III Deep dive: Ship blueprints
Context: See this variable on its own page References: This variable is used as follows: * XX21 uses SHIP_COBRA_MK_3
.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 \ --- Mod: Code removed for Elite-A: ------------------> \EQUB 150 \ Max. energy = 150 \ --- And replaced by: --------------------------------> EQUB 98 \ Max. energy = 98 \ --- End of replacement ------------------------------> 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 12
Name: SHIP_PYTHON [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Python Deep dive: Ship blueprints
Context: See this variable on its own page References: This variable is used as follows: * XX21 uses SHIP_PYTHON
.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 \ --- Mod: Code removed for Elite-A: ------------------> \EQUB 250 \ Max. energy = 250 \ --- And replaced by: --------------------------------> EQUB 125 \ Max. energy = 125 \ --- End of replacement ------------------------------> 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 12
Name: SHIP_VIPER [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Viper Deep dive: Ship blueprints
Context: See this variable on its own page References: This variable is used as follows: * XX21 uses SHIP_VIPER
.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 \ --- Mod: Code removed for Elite-A: ------------------> \EQUB 100 \ Max. energy = 100 \ --- And replaced by: --------------------------------> EQUB 91 \ Max. energy = 91 \ --- End of replacement ------------------------------> 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 6
Name: SHIP_KRAIT [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Krait Deep dive: Ship blueprints
Context: See this variable on its own page References: This variable is used as follows: * XX21 uses SHIP_KRAIT
.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 \ --- Mod: Code removed for Elite-A: ------------------> \EQUB 20 \ Visibility distance = 20 \EQUB 80 \ Max. energy = 80 \ --- And replaced by: --------------------------------> EQUB 25 \ Visibility distance = 25 EQUB 73 \ Max. energy = 73 \ --- End of replacement ------------------------------> 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) \ --- Mod: Code removed for Elite-A: ------------------> \EQUB 2 \ Normals are scaled by = 2^2 = 4 \ --- And replaced by: --------------------------------> EQUB 1 \ Normals are scaled by = 2^1 = 2 \ --- End of replacement ------------------------------> 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 \ --- Mod: Code removed for Elite-A: ------------------> \VERTEX 90, 0, 87, 1, 0, 1, 1, 28 \ Vertex 5 \VERTEX -90, 0, 87, 3, 2, 3, 3, 28 \ Vertex 6 \ --- And replaced by: --------------------------------> VERTEX 90, 0, 87, 1, 0, 1, 1, 30 \ Vertex 5 VERTEX -90, 0, 87, 3, 2, 3, 3, 30 \ Vertex 6 \ --- End of replacement ------------------------------> 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 \ --- Mod: Code removed for Elite-A: ------------------> \EDGE 3, 5, 1, 0, 28 \ Edge 8 \EDGE 4, 6, 3, 2, 28 \ Edge 9 \EDGE 1, 2, 5, 4, 5 \ Edge 10 \ --- And replaced by: --------------------------------> EDGE 3, 5, 1, 0, 30 \ Edge 8 EDGE 4, 6, 3, 2, 30 \ Edge 9 EDGE 1, 2, 5, 4, 8 \ Edge 10 \ --- End of replacement ------------------------------> 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 \ --- Mod: Code removed for Elite-A: ------------------> \ \ 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 5 \ --- And replaced by: --------------------------------> \ normal_x, normal_y, normal_z, visibility FACE 3, 24, 3, 31 \ Face 0 FACE 3, -24, 3, 31 \ Face 1 FACE -3, -24, 3, 31 \ Face 2 FACE -3, 24, 3, 31 \ Face 3 FACE 38, 0, -77, 31 \ Face 4 FACE -38, 0, -77, 31 \ Face 5 \ --- End of replacement ------------------------------>
Name: SHIP_CONSTRICTOR [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Constrictor Deep dive: Ship blueprints
Context: See this variable on its own page References: This variable is used as follows: * XX21 uses SHIP_CONSTRICTOR
.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 \ --- Mod: Code removed for Elite-A: ------------------> \EQUB 200 \ Max. energy = 200 \EQUB 55 \ Max. speed = 55 \ --- And replaced by: --------------------------------> EQUB 118 \ Max. energy = 118 EQUB 55 \ Max. speed = 55 \ --- End of replacement ------------------------------> 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 IF _RELEASED OR _SOURCE_DISC SKIP 171 \ These bytes appear to be unused ELIF _BUG_FIX SKIP 50 \ These bytes appear to be unused ENDIF
Save S.T.bin
PRINT "S.T" 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.S.T ", ~CODE_B%, " ", ~P%, " ", ~LOAD%, " ", ~LOAD_SHIPS% \SAVE "versions/disc/3-assembled-output/S.T.bin", CODE_SHIPS%, P%, LOAD%
Save 1.D.bin
PRINT "S.1.D ", ~CODE%, " ", ~P%, " ", ~LOAD%, " ", ~LOAD% SAVE "3-assembled-output/1.D.bin", CODE%, P%