rnd-19970921-src
[rocksndiamonds.git] / src / game.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 *  game.h                                                  *
13 ***********************************************************/
14
15 #ifndef GAME_H
16 #define GAME_H
17
18 #include "main.h"
19
20 #define DF_NO_PUSH              0
21 #define DF_DIG                  1
22 #define DF_SNAP                 2
23
24 #define MF_NO_ACTION            0
25 #define MF_MOVING               1
26 #define MF_ACTION               2
27
28 /* explosion position marks */
29 #define EX_NORMAL               0
30 #define EX_CENTER               1
31 #define EX_BORDER               2
32
33 /* fundamental game speed */
34 #define GAME_FRAME_DELAY        4
35 #define FFWD_FRAME_DELAY        1
36 #define FRAMES_PER_SECOND       (100 / GAME_FRAME_DELAY)
37
38 void GetPlayerConfig(void);
39 void InitGame(void);
40 void InitMovDir(int, int);
41 void InitAmoebaNr(int, int);
42 void GameWon(void);
43 BOOL NewHiScore(void);
44 void InitMovingField(int, int, int);
45 void Moving2Blocked(int, int, int *, int *);
46 void Blocked2Moving(int, int, int *, int *);
47 int MovingOrBlocked2Element(int, int);
48 void RemoveMovingField(int, int);
49 void DrawDynamite(int, int);
50 void CheckDynamite(int, int);
51 void Explode(int, int, int, int);
52 void DynaExplode(int, int, int);
53 void Bang(int, int);
54 void Blurb(int, int);
55 void Impact(int, int);
56 void TurnRound(int, int);
57 void StartMoving(int, int);
58 void ContinueMoving(int, int);
59 int AmoebeNachbarNr(int, int);
60 void AmoebeUmwandeln(int, int);
61 void AmoebeUmwandeln2(int, int, int);
62 void AmoebeWaechst(int, int);
63 void AmoebeAbleger(int, int);
64 void Life(int, int);
65 void Ablenk(int, int);
66 void Blubber(int, int);
67 void NussKnacken(int, int);
68 void SiebAktivieren(int, int, int);
69 void AusgangstuerPruefen(int, int);
70 void AusgangstuerOeffnen(int, int);
71 void AusgangstuerBlinken(int, int);
72 void EdelsteinFunkeln(int, int);
73 void MauerWaechst(int, int);
74 void MauerAbleger(int, int);
75 void GameActions(void);
76 void ScrollLevel(int, int);
77 BOOL MoveFigureOneStep(int, int, int, int);
78 BOOL MoveFigure(int, int);
79 void TestIfGoodThingHitsBadThing(int, int);
80 void TestIfBadThingHitsGoodThing(int, int);
81 void TestIfHeroHitsBadThing(void);
82 void TestIfBadThingHitsHero(void);
83 void TestIfFriendHitsBadThing(int, int);
84 void TestIfBadThingHitsFriend(int, int);
85 void TestIfBadThingHitsOtherBadThing(int, int);
86 void KillHero(void);
87 void BuryHero(void);
88 void RemoveHero(void);
89 int DigField(int, int, int, int, int);
90 BOOL SnapField(int, int);
91 BOOL PlaceBomb(void);
92 void PlaySoundLevel(int, int, int);
93 void RaiseScore(int);
94 void RaiseScoreElement(int);
95
96 #endif