2 * Elite - The New Kind.
4 * Reverse engineered from the BBC disk version of Elite.
5 * Additional material by C.J.Pinder.
7 * The original Elite code is (C) I.Bell & D.Braben 1984.
8 * This version re-engineered in C by C.J.Pinder 1999-2001.
10 * email: <christian@newkind.co.uk>
18 * Run the two intro screens.
19 * First is a rolling Cobra MkIII.
20 * Second is a parade of the various ships.
42 static int min_dist
[NO_OF_SHIPS
+1] = {0, 200, 800, 200, 200, 200, 300, 384, 200,
43 200, 200, 420, 900, 500, 800, 384, 384,
44 384, 384, 384, 200, 384, 384, 384, 0,
45 384, 0, 384, 384, 700, 384, 0, 0,
49 static Matrix intro_ship_matrix
;
52 void initialise_intro1 (void)
55 set_init_matrix (intro_ship_matrix
);
56 add_new_ship (SHIP_COBRA3
, 0, 0, 4500, intro_ship_matrix
, -127, -127);
60 void initialise_intro2 (void)
68 set_init_matrix (intro_ship_matrix
);
69 add_new_ship (1, 0, 0, 5000, intro_ship_matrix
, -127, -127);
74 void update_intro1 (void)
76 universe
[0].location
.z
-= 100;
78 if (universe
[0].location
.z
< 384)
79 universe
[0].location
.z
= 384;
86 gfx_draw_sprite(IMG_ELITE_TXT
, -1, 10);
88 gfx_display_centre_text (310, "Original Game (C) I.Bell & D.Braben.", 120, GFX_COL_WHITE
);
89 gfx_display_centre_text (330, "Re-engineered by C.J.Pinder.", 120, GFX_COL_WHITE
);
90 gfx_display_centre_text (360, "Load New Commander (Y/N)?", 140, GFX_COL_GOLD
);
94 void update_intro2 (void)
98 if ((show_time
>= 140) && (direction
< 0))
99 direction
= -direction
;
101 universe
[0].location
.z
+= direction
;
103 if (universe
[0].location
.z
< min_dist
[ship_no
])
104 universe
[0].location
.z
= min_dist
[ship_no
];
106 if (universe
[0].location
.z
> 4500)
111 if (ship_no
> NO_OF_SHIPS
)
113 } while (min_dist
[ship_no
] == 0);
118 ship_count
[universe
[0].type
] = 0;
119 universe
[0].type
= 0;
121 add_new_ship (ship_no
, 0, 0, 4500, intro_ship_matrix
, -127, -127);
129 gfx_draw_sprite (IMG_ELITE_TXT
, -1, 10);
131 gfx_display_centre_text (360, "Press Fire or Space, Commander.", 140, GFX_COL_GOLD
);
132 gfx_display_centre_text (330, ship_list
[ship_no
]->name
, 120, GFX_COL_WHITE
);