Skip to navigation

Elite on the BBC Micro and NES

Drawing ships: SHIP_CORIOLIS

[NES version, Bank 1]

Name: SHIP_CORIOLIS [Show more] Type: Variable Category: Drawing ships Summary: Ship blueprint for a Coriolis space station Deep dive: Ship blueprints
Context: See this variable in context in the source code References: This variable is used as follows: * XX21 uses SHIP_CORIOLIS
.SHIP_CORIOLIS EQUB 0 ; Max. canisters on demise = 0 EQUW 160 * 160 ; Targetable area = 160 * 160 EQUB LO(SHIP_CORIOLIS_EDGES - SHIP_CORIOLIS) ; Edges data offset (low) EQUB LO(SHIP_CORIOLIS_FACES - SHIP_CORIOLIS) ; Faces data offset (low) EQUB 89 ; Max. edge count = (89 - 1) / 4 = 22 EQUB 0 ; Gun vertex = 0 EQUB 6 ; Explosion count = 0, as (4 * n) + 6 = 6 EQUB 96 ; Number of vertices = 96 / 6 = 16 EQUB 28 ; Number of edges = 28 EQUW 0 ; Bounty = 0 EQUB 56 ; Number of faces = 56 / 4 = 14 EQUB 120 ; Visibility distance = 120 EQUB 240 ; Max. energy = 240 EQUB 0 ; Max. speed = 0 EQUB HI(SHIP_CORIOLIS_EDGES - SHIP_CORIOLIS) ; Edges data offset (high) EQUB HI(SHIP_CORIOLIS_FACES - SHIP_CORIOLIS) ; Faces data offset (high) EQUB 0 ; Normals are scaled by = 2^0 = 1 EQUB %00000110 ; Laser power = 0 ; Missiles = 6 .SHIP_CORIOLIS_VERTICES ; x, y, z, face1, face2, face3, face4, visibility VERTEX 160, 0, 160, 0, 1, 2, 6, 31 ; Vertex 0 VERTEX 0, 160, 160, 0, 2, 3, 8, 31 ; Vertex 1 VERTEX -160, 0, 160, 0, 3, 4, 7, 31 ; Vertex 2 VERTEX 0, -160, 160, 0, 1, 4, 5, 31 ; Vertex 3 VERTEX 160, -160, 0, 1, 5, 6, 10, 31 ; Vertex 4 VERTEX 160, 160, 0, 2, 6, 8, 11, 31 ; Vertex 5 VERTEX -160, 160, 0, 3, 7, 8, 12, 31 ; Vertex 6 VERTEX -160, -160, 0, 4, 5, 7, 9, 31 ; Vertex 7 VERTEX 160, 0, -160, 6, 10, 11, 13, 31 ; Vertex 8 VERTEX 0, 160, -160, 8, 11, 12, 13, 31 ; Vertex 9 VERTEX -160, 0, -160, 7, 9, 12, 13, 31 ; Vertex 10 VERTEX 0, -160, -160, 5, 9, 10, 13, 31 ; Vertex 11 VERTEX 10, -30, 160, 0, 0, 0, 0, 30 ; Vertex 12 VERTEX 10, 30, 160, 0, 0, 0, 0, 30 ; Vertex 13 VERTEX -10, 30, 160, 0, 0, 0, 0, 30 ; Vertex 14 VERTEX -10, -30, 160, 0, 0, 0, 0, 30 ; Vertex 15 .SHIP_CORIOLIS_EDGES ; vertex1, vertex2, face1, face2, visibility EDGE 0, 3, 0, 1, 31 ; Edge 0 EDGE 0, 1, 0, 2, 31 ; Edge 1 EDGE 1, 2, 0, 3, 31 ; Edge 2 EDGE 2, 3, 0, 4, 31 ; Edge 3 EDGE 3, 4, 1, 5, 31 ; Edge 4 EDGE 0, 4, 1, 6, 31 ; Edge 5 EDGE 0, 5, 2, 6, 31 ; Edge 6 EDGE 5, 1, 2, 8, 31 ; Edge 7 EDGE 1, 6, 3, 8, 31 ; Edge 8 EDGE 2, 6, 3, 7, 31 ; Edge 9 EDGE 2, 7, 4, 7, 31 ; Edge 10 EDGE 3, 7, 4, 5, 31 ; Edge 11 EDGE 8, 11, 10, 13, 31 ; Edge 12 EDGE 8, 9, 11, 13, 31 ; Edge 13 EDGE 9, 10, 12, 13, 31 ; Edge 14 EDGE 10, 11, 9, 13, 31 ; Edge 15 EDGE 4, 11, 5, 10, 31 ; Edge 16 EDGE 4, 8, 6, 10, 31 ; Edge 17 EDGE 5, 8, 6, 11, 31 ; Edge 18 EDGE 5, 9, 8, 11, 31 ; Edge 19 EDGE 6, 9, 8, 12, 31 ; Edge 20 EDGE 6, 10, 7, 12, 31 ; Edge 21 EDGE 7, 10, 7, 9, 31 ; Edge 22 EDGE 7, 11, 5, 9, 31 ; Edge 23 EDGE 12, 13, 0, 0, 30 ; Edge 24 EDGE 13, 14, 0, 0, 30 ; Edge 25 EDGE 14, 15, 0, 0, 30 ; Edge 26 EDGE 15, 12, 0, 0, 30 ; Edge 27 .SHIP_CORIOLIS_FACES ; normal_x, normal_y, normal_z, visibility FACE 0, 0, 160, 31 ; Face 0 FACE 107, -107, 107, 31 ; Face 1 FACE 107, 107, 107, 31 ; Face 2 FACE -107, 107, 107, 31 ; Face 3 FACE -107, -107, 107, 31 ; Face 4 FACE 0, -160, 0, 31 ; Face 5 FACE 160, 0, 0, 31 ; Face 6 FACE -160, 0, 0, 31 ; Face 7 FACE 0, 160, 0, 31 ; Face 8 FACE -107, -107, -107, 31 ; Face 9 FACE 107, -107, -107, 31 ; Face 10 FACE 107, 107, -107, 31 ; Face 11 FACE -107, 107, -107, 31 ; Face 12 FACE 0, 0, -160, 31 ; Face 13