X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.h;h=9db0ef6b316edfaa0c58aec551287a9b956e0a03;hb=40a487dcc5d3028343ff9123a72b8b3839a42861;hp=a0a210733d95f3b0ca761319ebd666ee059cec33;hpb=a5a03e15b395ba1942c180d1cd0d3a4f43b87f56;p=rocksndiamonds.git diff --git a/src/game.h b/src/game.h index a0a21073..9db0ef6b 100644 --- a/src/game.h +++ b/src/game.h @@ -1,13 +1,12 @@ /*********************************************************** * Rocks'n'Diamonds -- McDuffin Strikes Back! * *----------------------------------------------------------* -* ©1995 Artsoft Development * -* Holger Schemel * -* 33659 Bielefeld-Senne * -* Telefon: (0521) 493245 * -* eMail: aeglos@valinor.owl.de * -* aeglos@uni-paderborn.de * -* q99492@pbhrzx.uni-paderborn.de * +* (c) 1995-98 Artsoft Entertainment * +* Holger Schemel * +* Oststrasse 11a * +* 33604 Bielefeld * +* phone: ++49 +521 290471 * +* email: aeglos@valinor.owl.de * *----------------------------------------------------------* * game.h * ***********************************************************/ @@ -25,22 +24,25 @@ #define MF_MOVING 1 #define MF_ACTION 2 +#define SCROLL_INIT 0 +#define SCROLL_GO_ON 1 + /* explosion position marks */ #define EX_NORMAL 0 #define EX_CENTER 1 #define EX_BORDER 2 /* fundamental game speed */ -#define GAME_FRAME_DELAY 4 -#define FFWD_FRAME_DELAY 1 -#define FRAMES_PER_SECOND (100 / GAME_FRAME_DELAY) +#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 GetPlayerConfig(void); void InitGame(void); void InitMovDir(int, int); void InitAmoebaNr(int, int); void GameWon(void); -BOOL NewHiScore(void); +boolean NewHiScore(void); void InitMovingField(int, int, int); void Moving2Blocked(int, int, int *, int *); void Blocked2Moving(int, int, int *, int *); @@ -49,7 +51,7 @@ void RemoveMovingField(int, int); void DrawDynamite(int, int); void CheckDynamite(int, int); void Explode(int, int, int, int); -void DynaExplode(int, int, int); +void DynaExplode(int, int); void Bang(int, int); void Blurb(int, int); void Impact(int, int); @@ -74,15 +76,25 @@ void MauerWaechst(int, int); void MauerAbleger(int, int); void GameActions(void); void ScrollLevel(int, int); -BOOL MoveFigureOneStep(int, int, int, int); -BOOL MoveFigure(int, int); -void TestIfHeroHitsBadThing(void); -void TestIfBadThingHitsHero(void); + +boolean MoveFigureOneStep(struct PlayerInfo *, int, int, int, int); +boolean MoveFigure(struct PlayerInfo *, int, int); +void ScrollFigure(struct PlayerInfo *, int); +void ScrollScreen(struct PlayerInfo *, 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(void); -int DigField(int, int, int, int, int); -BOOL SnapField(int, int); -BOOL PlaceBomb(void); +void KillHero(struct PlayerInfo *); +void BuryHero(struct PlayerInfo *); +void RemoveHero(struct PlayerInfo *); +int DigField(struct PlayerInfo *, int, int, int, int, int); +boolean SnapField(struct PlayerInfo *, int, int); +boolean PlaceBomb(struct PlayerInfo *); void PlaySoundLevel(int, int, int); void RaiseScore(int); void RaiseScoreElement(int);