Proper Subversion configuration.
[newkind] / gfx.h
1 /*
2 * Elite - The New Kind.
3 *
4 * Reverse engineered from the BBC disk version of Elite.
5 * Additional material by C.J.Pinder.
6 *
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.
9 *
10 * email: <christian@newkind.co.uk>
11 *
12 *
13 */
14
15
16 /**
17 *
18 * Elite - The New Kind.
19 *
20 * The code in this file has not been derived from the original Elite code.
21 * Written by C.J.Pinder 1999/2000.
22 *
23 **/
24
25
26 #ifndef GFX_H
27 #define GFX_H
28
29 #ifdef RES_512_512
30
31 #define GFX_SCALE (2)
32 #define GFX_X_OFFSET (0)
33 #define GFX_Y_OFFSET (0)
34 #define GFX_X_CENTRE (256)
35 #define GFX_Y_CENTRE (192)
36
37 #define GFX_VIEW_TX 1
38 #define GFX_VIEW_TY 1
39 #define GFX_VIEW_BX 509
40 #define GFX_VIEW_BY 381
41
42 #endif
43
44 #ifdef RES_800_600
45
46 #define GFX_SCALE (2)
47 #define GFX_X_OFFSET (144)
48 #define GFX_Y_OFFSET (44)
49 #define GFX_X_CENTRE (256)
50 #define GFX_Y_CENTRE (192)
51
52 #define GFX_VIEW_TX 1
53 #define GFX_VIEW_TY 1
54 #define GFX_VIEW_BX 509
55 #define GFX_VIEW_BY 381
56
57 #endif
58
59 #ifndef GFX_SCALE
60
61 #define GFX_SCALE (1)
62 #define GFX_X_OFFSET (0)
63 #define GFX_Y_OFFSET (0)
64 #define GFX_X_CENTRE (128)
65 #define GFX_Y_CENTRE (96)
66
67 #define GFX_VIEW_TX 1
68 #define GFX_VIEW_TY 1
69 #define GFX_VIEW_BX 253
70 #define GFX_VIEW_BY 191
71
72 #endif
73
74
75
76 #define GFX_COL_BLACK 0
77 #define GFX_COL_DARK_RED 28
78 #define GFX_COL_WHITE 255
79 #define GFX_COL_GOLD 39
80 #define GFX_COL_RED 49
81 #define GFX_COL_CYAN 11
82
83 #define GFX_COL_GREY_1 248
84 #define GFX_COL_GREY_2 235
85 #define GFX_COL_GREY_3 234
86 #define GFX_COL_GREY_4 237
87
88 #define GFX_COL_BLUE_1 45
89 #define GFX_COL_BLUE_2 46
90 #define GFX_COL_BLUE_3 133
91 #define GFX_COL_BLUE_4 4
92
93 #define GFX_COL_RED_3 1
94 #define GFX_COL_RED_4 71
95
96 #define GFX_COL_WHITE_2 242
97
98 #define GFX_COL_YELLOW_1 37
99 #define GFX_COL_YELLOW_2 39
100 #define GFX_COL_YELLOW_3 89
101 #define GFX_COL_YELLOW_4 160
102 #define GFX_COL_YELLOW_5 251
103
104 #define GFX_ORANGE_1 76
105 #define GFX_ORANGE_2 77
106 #define GFX_ORANGE_3 122
107
108 #define GFX_COL_GREEN_1 2
109 #define GFX_COL_GREEN_2 17
110 #define GFX_COL_GREEN_3 86
111
112 #define GFX_COL_PINK_1 183
113
114 #define IMG_GREEN_DOT 1
115 #define IMG_RED_DOT 2
116 #define IMG_BIG_S 3
117 #define IMG_ELITE_TXT 4
118 #define IMG_BIG_E 5
119 #define IMG_DICE 6
120 #define IMG_MISSILE_GREEN 7
121 #define IMG_MISSILE_YELLOW 8
122 #define IMG_MISSILE_RED 9
123 #define IMG_BLAKE 10
124
125
126 int gfx_graphics_startup (void);
127 void gfx_graphics_shutdown (void);
128 void gfx_update_screen (void);
129 void gfx_acquire_screen (void);
130 void gfx_release_screen (void);
131 void gfx_plot_pixel (int x, int y, int col);
132 void gfx_fast_plot_pixel (int x, int y, int col);
133 void gfx_draw_filled_circle (int cx, int cy, int radius, int circle_colour);
134 void gfx_draw_circle (int cx, int cy, int radius, int circle_colour);
135 void gfx_draw_line (int x1, int y1, int x2, int y2);
136 void gfx_draw_colour_line (int x1, int y1, int x2, int y2, int line_colour);
137 void gfx_draw_triangle (int x1, int y1, int x2, int y2, int x3, int y3, int col);
138 void gfx_draw_rectangle (int tx, int ty, int bx, int by, int col);
139 void gfx_display_text (int x, int y, char *txt);
140 void gfx_display_colour_text (int x, int y, char *txt, int col);
141 void gfx_display_centre_text (int y, char *str, int psize, int col);
142 void gfx_clear_display (void);
143 void gfx_clear_text_area (void);
144 void gfx_clear_area (int tx, int ty, int bx, int by);
145 void gfx_display_pretty_text (int tx, int ty, int bx, int by, char *txt);
146 void gfx_draw_scanner (void);
147 void gfx_set_clip_region (int tx, int ty, int bx, int by);
148 void gfx_polygon (int num_points, int *poly_list, int face_colour);
149 void gfx_draw_sprite (int sprite_no, int x, int y);
150 void gfx_start_render (void);
151 void gfx_render_polygon (int num_points, int *point_list, int face_colour, int zavg);
152 void gfx_render_line (int x1, int y1, int x2, int y2, int dist, int col);
153 void gfx_finish_render (void);
154 int gfx_request_file (char *title, char *path, char *ext);
155
156 #endif