Skip to navigation

Elite on the BBC Micro and NES

Drawing ships: SHIP_DODO

[NES version, Bank 1]

Name: SHIP_DODO [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Dodecahedron ("Dodo") space station Deep dive: Ship blueprints
Context: See this variable in context in the source code References: This variable is used as follows: * Unused copy of XX21 uses SHIP_DODO * XX21 uses SHIP_DODO
.SHIP_DODO EQUB 0 ; Max. canisters on demise = 0 EQUW 180 * 180 ; Targetable area = 180 * 180 EQUB LO(SHIP_DODO_EDGES - SHIP_DODO) ; Edges data offset (low) EQUB LO(SHIP_DODO_FACES - SHIP_DODO) ; Faces data offset (low) EQUB 101 ; Max. edge count = (101 - 1) / 4 = 25 EQUB 0 ; Gun vertex = 0 EQUB 6 ; Explosion count = 0, as (4 * n) + 6 = 6 EQUB 144 ; Number of vertices = 144 / 6 = 24 EQUB 34 ; Number of edges = 34 EQUW 0 ; Bounty = 0 EQUB 48 ; Number of faces = 48 / 4 = 12 EQUB 125 ; Visibility distance = 125 EQUB 240 ; Max. energy = 240 EQUB 0 ; Max. speed = 0 EQUB HI(SHIP_DODO_EDGES - SHIP_DODO) ; Edges data offset (high) EQUB HI(SHIP_DODO_FACES - SHIP_DODO) ; Faces data offset (high) EQUB 0 ; Normals are scaled by = 2^0 = 1 EQUB %00000000 ; Laser power = 0 ; Missiles = 0 .SHIP_DODO_VERTICES ; x, y, z, face1, face2, face3, face4, visibility VERTEX 0, 150, 196, 1, 0, 5, 5, 31 ; Vertex 0 VERTEX 143, 46, 196, 1, 0, 2, 2, 31 ; Vertex 1 VERTEX 88, -121, 196, 2, 0, 3, 3, 31 ; Vertex 2 VERTEX -88, -121, 196, 3, 0, 4, 4, 31 ; Vertex 3 VERTEX -143, 46, 196, 4, 0, 5, 5, 31 ; Vertex 4 VERTEX 0, 243, 46, 5, 1, 6, 6, 31 ; Vertex 5 VERTEX 231, 75, 46, 2, 1, 7, 7, 31 ; Vertex 6 VERTEX 143, -196, 46, 3, 2, 8, 8, 31 ; Vertex 7 VERTEX -143, -196, 46, 4, 3, 9, 9, 31 ; Vertex 8 VERTEX -231, 75, 46, 5, 4, 10, 10, 31 ; Vertex 9 VERTEX 143, 196, -46, 6, 1, 7, 7, 31 ; Vertex 10 VERTEX 231, -75, -46, 7, 2, 8, 8, 31 ; Vertex 11 VERTEX 0, -243, -46, 8, 3, 9, 9, 31 ; Vertex 12 VERTEX -231, -75, -46, 9, 4, 10, 10, 31 ; Vertex 13 VERTEX -143, 196, -46, 6, 5, 10, 10, 31 ; Vertex 14 VERTEX 88, 121, -196, 7, 6, 11, 11, 31 ; Vertex 15 VERTEX 143, -46, -196, 8, 7, 11, 11, 31 ; Vertex 16 VERTEX 0, -150, -196, 9, 8, 11, 11, 31 ; Vertex 17 VERTEX -143, -46, -196, 10, 9, 11, 11, 31 ; Vertex 18 VERTEX -88, 121, -196, 10, 6, 11, 11, 31 ; Vertex 19 VERTEX -16, 32, 196, 0, 0, 0, 0, 30 ; Vertex 20 VERTEX -16, -32, 196, 0, 0, 0, 0, 30 ; Vertex 21 VERTEX 16, 32, 196, 0, 0, 0, 0, 23 ; Vertex 22 VERTEX 16, -32, 196, 0, 0, 0, 0, 23 ; Vertex 23 .SHIP_DODO_EDGES ; vertex1, vertex2, face1, face2, visibility EDGE 0, 1, 1, 0, 31 ; Edge 0 EDGE 1, 2, 2, 0, 31 ; Edge 1 EDGE 2, 3, 3, 0, 31 ; Edge 2 EDGE 3, 4, 4, 0, 31 ; Edge 3 EDGE 4, 0, 5, 0, 31 ; Edge 4 EDGE 5, 10, 6, 1, 31 ; Edge 5 EDGE 10, 6, 7, 1, 31 ; Edge 6 EDGE 6, 11, 7, 2, 31 ; Edge 7 EDGE 11, 7, 8, 2, 31 ; Edge 8 EDGE 7, 12, 8, 3, 31 ; Edge 9 EDGE 12, 8, 9, 3, 31 ; Edge 10 EDGE 8, 13, 9, 4, 31 ; Edge 11 EDGE 13, 9, 10, 4, 31 ; Edge 12 EDGE 9, 14, 10, 5, 31 ; Edge 13 EDGE 14, 5, 6, 5, 31 ; Edge 14 EDGE 15, 16, 11, 7, 31 ; Edge 15 EDGE 16, 17, 11, 8, 31 ; Edge 16 EDGE 17, 18, 11, 9, 31 ; Edge 17 EDGE 18, 19, 11, 10, 31 ; Edge 18 EDGE 19, 15, 11, 6, 31 ; Edge 19 EDGE 0, 5, 5, 1, 31 ; Edge 20 EDGE 1, 6, 2, 1, 31 ; Edge 21 EDGE 2, 7, 3, 2, 31 ; Edge 22 EDGE 3, 8, 4, 3, 31 ; Edge 23 EDGE 4, 9, 5, 4, 31 ; Edge 24 EDGE 10, 15, 7, 6, 31 ; Edge 25 EDGE 11, 16, 8, 7, 31 ; Edge 26 EDGE 12, 17, 9, 8, 31 ; Edge 27 EDGE 13, 18, 10, 9, 31 ; Edge 28 EDGE 14, 19, 10, 6, 31 ; Edge 29 EDGE 20, 21, 0, 0, 30 ; Edge 30 EDGE 21, 23, 0, 0, 20 ; Edge 31 EDGE 23, 22, 0, 0, 23 ; Edge 32 EDGE 22, 20, 0, 0, 20 ; Edge 33 .SHIP_DODO_FACES ; normal_x, normal_y, normal_z, visibility FACE 0, 0, 196, 31 ; Face 0 FACE 103, 142, 88, 31 ; Face 1 FACE 169, -55, 89, 31 ; Face 2 FACE 0, -176, 88, 31 ; Face 3 FACE -169, -55, 89, 31 ; Face 4 FACE -103, 142, 88, 31 ; Face 5 FACE 0, 176, -88, 31 ; Face 6 FACE 169, 55, -89, 31 ; Face 7 FACE 103, -142, -88, 31 ; Face 8 FACE -103, -142, -88, 31 ; Face 9 FACE -169, 55, -89, 31 ; Face 10 FACE 0, 0, -196, 31 ; Face 11 EQUB $00, $FF ; These bytes appear to be unused EQUB $FF, $00