dba380157704facd02366cfabadd863ef3909ed0
[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 NEW_RANDOMIZE   -1
84
85 void microsleep(unsigned long);
86 long mainCounter(int);
87 void InitCounter(void);
88 long Counter(void);
89 long Counter2(void);
90 void WaitCounter(long);
91 void WaitCounter2(long);
92 void Delay(long);
93 BOOL DelayReached(long *, int);
94 unsigned long be2long(unsigned long *);
95 char *int2str(int, int);
96 unsigned int RND(unsigned int);
97 unsigned int InitRND(long);
98 char *GetLoginName(void);
99
100 void InitAnimation(void);
101 void StopAnimation(void);
102 void DoAnimation(void);
103 void HandleAnimation(int);
104 BOOL AnimateToon(int, BOOL);
105 void DrawAnim(int, int, int, int, int, int, int, int);
106
107 #endif