rnd-20051208-1-src
[rocksndiamonds.git] / src / game.h
index fce926030bcb7489bc8ae610e9d7d5e7184a8654..9d73679232a97fb54eff280e902b4cabc933f260 100644 (file)
@@ -1,14 +1,14 @@
 /***********************************************************
-*  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
+* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
 *----------------------------------------------------------*
-*  (c) 1995-98 Artsoft Entertainment                       *
-*              Holger Schemel                              *
-*              Oststrasse 11a                              *
-*              33604 Bielefeld                             *
-*              phone: ++49 +521 290471                     *
-*              email: aeglos@valinor.owl.de                *
+* (c) 1995-2002 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
 *----------------------------------------------------------*
-*  game.h                                                  *
+* game.h                                                   *
 ***********************************************************/
 
 #ifndef GAME_H
 
 #include "main.h"
 
-#define DF_NO_PUSH             0
-#define DF_DIG                 1
-#define DF_SNAP                        2
-
-#define MF_NO_ACTION           0
-#define MF_MOVING              1
-#define MF_ACTION              2
+void GetPlayerConfig(void);
 
-#define SCROLL_INIT            0
-#define SCROLL_GO_ON           1
+void DrawGameValue_Time(int);
+void DrawGameDoorValues(void);
 
-/* explosion position marks */
-#define EX_NORMAL              0
-#define EX_CENTER              1
-#define EX_BORDER              2
+void InitGameSound();
+void InitGame(void);
 
-/* fundamental game speed */
-#define GAME_FRAME_DELAY       20      /* frame delay in milliseconds */
-#define FFWD_FRAME_DELAY       10      /* 200% speed for fast forward */
-#define FRAMES_PER_SECOND      (1000 / GAME_FRAME_DELAY)
+void UpdateEngineValues(int, int);
 
-void GetPlayerConfig(void);
-void InitGame(void);
 void InitMovDir(int, int);
 void InitAmoebaNr(int, int);
 void GameWon(void);
-BOOL NewHiScore(void);
+int NewHiScore(void);
+
+void InitPlayerGfxAnimation(struct PlayerInfo *, int, int);
 void InitMovingField(int, int, int);
 void Moving2Blocked(int, int, int *, int *);
 void Blocked2Moving(int, int, int *, int *);
@@ -55,12 +44,11 @@ void DynaExplode(int, int);
 void Bang(int, int);
 void Blurb(int, int);
 void Impact(int, int);
-void TurnRound(int, int);
 void StartMoving(int, int);
 void ContinueMoving(int, int);
 int AmoebeNachbarNr(int, int);
 void AmoebeUmwandeln(int, int);
-void AmoebeUmwandeln2(int, int, int);
+void AmoebeUmwandelnBD(int, int, int);
 void AmoebeWaechst(int, int);
 void AmoebeAbleger(int, int);
 void Life(int, int);
@@ -74,29 +62,34 @@ void AusgangstuerBlinken(int, int);
 void EdelsteinFunkeln(int, int);
 void MauerWaechst(int, int);
 void MauerAbleger(int, int);
-void GameActions(int);
+
+void GameActions(void);
 void ScrollLevel(int, int);
 
-BOOL MoveFigureOneStep(struct PlayerInfo *, int, int, int, int);
-BOOL MoveFigure(struct PlayerInfo *, int, int);
-void ScrollFigure(struct PlayerInfo *, int);
-void ScrollScreen(struct PlayerInfo *, int);
+void TestIfGoodThingHitsBadThing(int, int, int);
+void TestIfBadThingHitsGoodThing(int, int, int);
+void TestIfPlayerTouchesBadThing(int, int);
+void TestIfPlayerRunsIntoBadThing(int, int, int);
+void TestIfBadThingTouchesPlayer(int, int);
+void TestIfBadThingRunsIntoPlayer(int, int, int);
+void TestIfFriendTouchesBadThing(int, int);
+void TestIfBadThingTouchesFriend(int, int);
+void TestIfBadThingTouchesOtherBadThing(int, int);
+void KillPlayer(struct PlayerInfo *);
+void BuryPlayer(struct PlayerInfo *);
+void RemovePlayer(struct PlayerInfo *);
+boolean SnapField(struct PlayerInfo *, int, int);
+boolean DropElement(struct PlayerInfo *);
+
+void InitPlayLevelSound();
+void PlayLevelSound_EM(int, int, int, int);
 
-void TestIfGoodThingHitsBadThing(int, int);
-void TestIfBadThingHitsGoodThing(int, int);
-void TestIfHeroHitsBadThing(int, int);
-void TestIfBadThingHitsHero(int, int);
-void TestIfFriendHitsBadThing(int, int);
-void TestIfBadThingHitsFriend(int, int);
-void TestIfBadThingHitsOtherBadThing(int, int);
-void KillHero(struct PlayerInfo *);
-void BuryHero(struct PlayerInfo *);
-void RemoveHero(struct PlayerInfo *);
-int DigField(struct PlayerInfo *, int, int, int, int, int);
-BOOL SnapField(struct PlayerInfo *, int, int);
-BOOL PlaceBomb(struct PlayerInfo *);
-void PlaySoundLevel(int, int, int);
 void RaiseScore(int);
 void RaiseScoreElement(int);
+void RequestQuitGame(boolean);
+
+void CreateGameButtons();
+void FreeGameButtons();
+void UnmapGameButtons();
 
 #endif