Proper Subversion configuration.
[newkind] / gfx.h
CommitLineData
84bbd123 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
126int gfx_graphics_startup (void);
127void gfx_graphics_shutdown (void);
128void gfx_update_screen (void);
129void gfx_acquire_screen (void);
130void gfx_release_screen (void);
131void gfx_plot_pixel (int x, int y, int col);
132void gfx_fast_plot_pixel (int x, int y, int col);
133void gfx_draw_filled_circle (int cx, int cy, int radius, int circle_colour);
134void gfx_draw_circle (int cx, int cy, int radius, int circle_colour);
135void gfx_draw_line (int x1, int y1, int x2, int y2);
136void gfx_draw_colour_line (int x1, int y1, int x2, int y2, int line_colour);
137void gfx_draw_triangle (int x1, int y1, int x2, int y2, int x3, int y3, int col);
138void gfx_draw_rectangle (int tx, int ty, int bx, int by, int col);
139void gfx_display_text (int x, int y, char *txt);
140void gfx_display_colour_text (int x, int y, char *txt, int col);
141void gfx_display_centre_text (int y, char *str, int psize, int col);
142void gfx_clear_display (void);
143void gfx_clear_text_area (void);
144void gfx_clear_area (int tx, int ty, int bx, int by);
145void gfx_display_pretty_text (int tx, int ty, int bx, int by, char *txt);
146void gfx_draw_scanner (void);
147void gfx_set_clip_region (int tx, int ty, int bx, int by);
148void gfx_polygon (int num_points, int *poly_list, int face_colour);
149void gfx_draw_sprite (int sprite_no, int x, int y);
150void gfx_start_render (void);
151void gfx_render_polygon (int num_points, int *point_list, int face_colour, int zavg);
152void gfx_render_line (int x1, int y1, int x2, int y2, int dist, int col);
153void gfx_finish_render (void);
154int gfx_request_file (char *title, char *path, char *ext);
155
156#endif