1 /*======================================================================
2     xrot
3                                 Copyright (C) 1997,1998 Masao Shiraishi
4                                 e-mail:msiro@cs.meiji.ac.jp
5 ========================================================================*/
6 
7 /* window size */
8 #define WWIDTH  300
9 #define WHEIGHT 225
10 
11 extern Display *dp;
12 extern Window win;
13 extern GC copyGC, titleGC, keysGC, blackGC;
14 extern XImage *ximage[2];
15 extern char *image[2];
16 extern int dbl_buf;
17 extern unsigned long black_pixel;
18 extern Colormap cmap;
19 extern int owncmap;
20 
21 extern XFontStruct *fn2;
22 extern int ascent2;
23 extern unsigned long tipix[4];
24 extern unsigned short grad[64];
25 
26 extern GC ballGC[2][2];
27 extern int ball_x, ball_y, ball_w, ball_h;
28 
29 extern int view_x, view_y;
30 
31 #define COURSE 7
32 
33 #ifdef MITSHM
34 extern int shm;
35 #endif
36 
37 /* key state */
38 extern int key_right, key_left;
39 extern int key_space, jump_key, soft_key;
40 extern int escape;
41 extern int restart;
42 
43 extern int num_state;
44 extern char g_pixel;
45 
46 /* course data */
47 
48 extern int lx[COURSE];
49 extern int ly[COURSE];
50 extern int sdeg[COURSE];
51 extern int c6_x[3];
52 extern int c6_y[3];
53 extern int c6_deg[3];
54 
55 /* function */
56 void init_X();
57 void check_ev();
58 void title();
59 void set_background();
60 void free_xres();
61 void draw_win();
62 void create_course();
63 void draw_mesg();
64 int pre_ev();
65 void clear_screen();
66 void draw_result();
67 void goal_event();
68 int course_select();
69 void pre_event();
70 void change_cmap();
71 void conv_time();
72