1 /***********************************************************
2 * Rocks'n'Diamonds -- McDuffin Strikes Back! *
3 *----------------------------------------------------------*
4 * (c) 1995-2001 Artsoft Entertainment *
6 * Detmolder Strasse 189 *
9 * e-mail: info@artsoft.org *
10 *----------------------------------------------------------*
12 ***********************************************************/
19 /* score for elements (also used by editor.c) */
20 #define SC_EDELSTEIN 0
27 #define SC_KOKOSNUSS 7
29 #define SC_SCHLUESSEL 9
30 #define SC_ZEITBONUS 10
32 void GetPlayerConfig(void);
33 void DrawGameDoorValues(void);
35 void InitMovDir(int, int);
36 void InitAmoebaNr(int, int);
39 void InitMovingField(int, int, int);
40 void Moving2Blocked(int, int, int *, int *);
41 void Blocked2Moving(int, int, int *, int *);
42 int MovingOrBlocked2Element(int, int);
43 void RemoveMovingField(int, int);
44 void DrawDynamite(int, int);
45 void CheckDynamite(int, int);
46 void Explode(int, int, int, int);
47 void DynaExplode(int, int);
50 void Impact(int, int);
51 void TurnRound(int, int);
52 void StartMoving(int, int);
53 void ContinueMoving(int, int);
54 int AmoebeNachbarNr(int, int);
55 void AmoebeUmwandeln(int, int);
56 void AmoebeUmwandelnBD(int, int, int);
57 void AmoebeWaechst(int, int);
58 void AmoebeAbleger(int, int);
60 void Ablenk(int, int);
61 void Blubber(int, int);
62 void NussKnacken(int, int);
63 void SiebAktivieren(int, int, int);
64 void AusgangstuerPruefen(int, int);
65 void AusgangstuerOeffnen(int, int);
66 void AusgangstuerBlinken(int, int);
67 void EdelsteinFunkeln(int, int);
68 void MauerWaechst(int, int);
69 void MauerAbleger(int, int);
70 void GameActions(void);
71 void ScrollLevel(int, int);
73 boolean MoveFigureOneStep(struct PlayerInfo *, int, int, int, int);
74 boolean MoveFigure(struct PlayerInfo *, int, int);
75 void ScrollFigure(struct PlayerInfo *, int);
76 void ScrollScreen(struct PlayerInfo *, int);
78 void TestIfGoodThingHitsBadThing(int, int, int);
79 void TestIfBadThingHitsGoodThing(int, int, int);
80 void TestIfHeroTouchesBadThing(int, int);
81 void TestIfHeroRunsIntoBadThing(int, int, int);
82 void TestIfBadThingTouchesHero(int, int);
83 void TestIfBadThingRunsIntoHero(int, int, int);
84 void TestIfFriendTouchesBadThing(int, int);
85 void TestIfBadThingTouchesFriend(int, int);
86 void TestIfBadThingTouchesOtherBadThing(int, int);
87 void KillHero(struct PlayerInfo *);
88 void BuryHero(struct PlayerInfo *);
89 void RemoveHero(struct PlayerInfo *);
90 int DigField(struct PlayerInfo *, int, int, int, int, int);
91 boolean SnapField(struct PlayerInfo *, int, int);
92 boolean PlaceBomb(struct PlayerInfo *);
93 void PlaySoundLevel(int, int, int);
95 void RaiseScoreElement(int);
96 void RequestQuitGame(boolean);
98 void CreateGameButtons();
99 void UnmapGameButtons();