rnd-20000718-1-src
[rocksndiamonds.git] / src / game.h
1 /***********************************************************
2 *  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
3 *----------------------------------------------------------*
4 *  (c) 1995-98 Artsoft Entertainment                       *
5 *              Holger Schemel                              *
6 *              Oststrasse 11a                              *
7 *              33604 Bielefeld                             *
8 *              phone: ++49 +521 290471                     *
9 *              email: aeglos@valinor.owl.de                *
10 *----------------------------------------------------------*
11 *  game.h                                                  *
12 ***********************************************************/
13
14 #ifndef GAME_H
15 #define GAME_H
16
17 #include "main.h"
18
19 /* score for elements (also used by editor.c) */
20 #define SC_EDELSTEIN            0
21 #define SC_DIAMANT              1
22 #define SC_KAEFER               2
23 #define SC_FLIEGER              3
24 #define SC_MAMPFER              4
25 #define SC_ROBOT                5
26 #define SC_PACMAN               6
27 #define SC_KOKOSNUSS            7
28 #define SC_DYNAMIT              8
29 #define SC_SCHLUESSEL           9
30 #define SC_ZEITBONUS            10
31
32 void GetPlayerConfig(void);
33 void InitGame(void);
34 void InitMovDir(int, int);
35 void InitAmoebaNr(int, int);
36 void GameWon(void);
37 int NewHiScore(void);
38 void InitMovingField(int, int, int);
39 void Moving2Blocked(int, int, int *, int *);
40 void Blocked2Moving(int, int, int *, int *);
41 int MovingOrBlocked2Element(int, int);
42 void RemoveMovingField(int, int);
43 void DrawDynamite(int, int);
44 void CheckDynamite(int, int);
45 void Explode(int, int, int, int);
46 void DynaExplode(int, int);
47 void Bang(int, int);
48 void Blurb(int, int);
49 void Impact(int, int);
50 void TurnRound(int, int);
51 void StartMoving(int, int);
52 void ContinueMoving(int, int);
53 int AmoebeNachbarNr(int, int);
54 void AmoebeUmwandeln(int, int);
55 void AmoebeUmwandelnBD(int, int, int);
56 void AmoebeWaechst(int, int);
57 void AmoebeAbleger(int, int);
58 void Life(int, int);
59 void Ablenk(int, int);
60 void Blubber(int, int);
61 void NussKnacken(int, int);
62 void SiebAktivieren(int, int, int);
63 void AusgangstuerPruefen(int, int);
64 void AusgangstuerOeffnen(int, int);
65 void AusgangstuerBlinken(int, int);
66 void EdelsteinFunkeln(int, int);
67 void MauerWaechst(int, int);
68 void MauerAbleger(int, int);
69 void GameActions(void);
70 void ScrollLevel(int, int);
71
72 boolean MoveFigureOneStep(struct PlayerInfo *, int, int, int, int);
73 boolean MoveFigure(struct PlayerInfo *, int, int);
74 void ScrollFigure(struct PlayerInfo *, int);
75 void ScrollScreen(struct PlayerInfo *, int);
76
77 void TestIfGoodThingHitsBadThing(int, int);
78 void TestIfBadThingHitsGoodThing(int, int);
79 void TestIfHeroHitsBadThing(int, int);
80 void TestIfBadThingHitsHero(int, int);
81 void TestIfFriendHitsBadThing(int, int);
82 void TestIfBadThingHitsFriend(int, int);
83 void TestIfBadThingHitsOtherBadThing(int, int);
84 void KillHero(struct PlayerInfo *);
85 void BuryHero(struct PlayerInfo *);
86 void RemoveHero(struct PlayerInfo *);
87 int DigField(struct PlayerInfo *, int, int, int, int, int);
88 boolean SnapField(struct PlayerInfo *, int, int);
89 boolean PlaceBomb(struct PlayerInfo *);
90 void PlaySoundLevel(int, int, int);
91 void RaiseScore(int);
92 void RaiseScoreElement(int);
93
94 void CreateGameButtons();
95 void UnmapGameButtons();
96
97 #endif