rocks_n_diamonds-1.0
[rocksndiamonds.git] / src / misc.h
1 /***********************************************************
2 *  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
3 *----------------------------------------------------------*
4 *  ©1995 Artsoft Development                               *
5 *        Holger Schemel                                    *
6 *        33659 Bielefeld-Senne                             *
7 *        Telefon: (0521) 493245                            *
8 *        eMail: aeglos@valinor.owl.de                      *
9 *               aeglos@uni-paderborn.de                    *
10 *               q99492@pbhrzx.uni-paderborn.de             *
11 *----------------------------------------------------------*
12 *  misc.h                                                  *
13 ***********************************************************/
14
15 #ifndef MISC_H
16 #define MISC_H
17
18 #include "main.h"
19
20 /* values for cartoon figures */
21 #define NUM_TOONS       6
22
23 #define DWARF_XSIZE     40
24 #define DWARF_YSIZE     48
25 #define DWARF_X         2
26 #define DWARF_Y         72
27 #define DWARF2_Y        186
28 #define DWARF_FRAMES    8
29 #define DWARF_FPS       10
30 #define DWARF_STEPSIZE  4
31 #define JUMPER_XSIZE    48
32 #define JUMPER_YSIZE    56
33 #define JUMPER_X        2
34 #define JUMPER_Y        125
35 #define JUMPER_FRAMES   8
36 #define JUMPER_FPS      10
37 #define JUMPER_STEPSIZE 4
38 #define CLOWN_XSIZE     80
39 #define CLOWN_YSIZE     110
40 #define CLOWN_X         327
41 #define CLOWN_Y         10
42 #define CLOWN_FRAMES    1
43 #define CLOWN_FPS       10
44 #define CLOWN_STEPSIZE  4
45 #define BIRD_XSIZE      32
46 #define BIRD_YSIZE      30
47 #define BIRD1_X         2
48 #define BIRD1_Y         2
49 #define BIRD2_X         2
50 #define BIRD2_Y         37
51 #define BIRD_FRAMES     8
52 #define BIRD_FPS        20
53 #define BIRD_STEPSIZE   4
54
55 #define ANIMDIR_LEFT    1
56 #define ANIMDIR_RIGHT   2
57 #define ANIMDIR_UP      4
58 #define ANIMDIR_DOWN    8
59
60 #define ANIMPOS_ANY     0
61 #define ANIMPOS_LEFT    1
62 #define ANIMPOS_RIGHT   2
63 #define ANIMPOS_UP      4
64 #define ANIMPOS_DOWN    8
65 #define ANIMPOS_UPPER   16
66
67 #define ANIM_START      0
68 #define ANIM_CONTINUE   1
69 #define ANIM_STOP       2
70
71 struct AnimInfo
72 {
73   int width, height;
74   int src_x, src_y;
75   int frames;
76   int frames_per_second;
77   int stepsize;
78   BOOL pingpong;
79   int direction;
80   int position;
81 };
82
83 #define INIT_COUNTER            0
84 #define READ_COUNTER_100        1
85 #define READ_COUNTER_1000       2
86
87 #define NEW_RANDOMIZE           -1
88
89 void microsleep(unsigned long);
90 long mainCounter(int);
91 void InitCounter(void);
92 long Counter(void);
93 long Counter2(void);
94 void WaitCounter(long);
95 void WaitCounter2(long);
96 void Delay(long);
97 BOOL DelayReached(long *, int);
98 BOOL FrameReached(long *, int);
99 unsigned long be2long(unsigned long *);
100 char *int2str(int, int);
101 unsigned int SimpleRND(unsigned int);
102 unsigned int RND(unsigned int);
103 unsigned int InitRND(long);
104 char *GetLoginName(void);
105
106 void InitAnimation(void);
107 void StopAnimation(void);
108 void DoAnimation(void);
109 void HandleAnimation(int);
110 BOOL AnimateToon(int, BOOL);
111 void DrawAnim(int, int, int, int, int, int, int, int);
112
113 #endif