X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.h;h=9cf6a29719430015c3f79e9b254acdc9f4603244;hb=7b31a77eec53ed2b96d5924a743b0706c9e4b11c;hp=56be763ce0da76f092edd1ab4e25b5e789497f26;hpb=046d80f9a1b3fad9d4d3d3aa92dcb3689849aebf;p=rocksndiamonds.git diff --git a/src/game.h b/src/game.h index 56be763c..9cf6a297 100644 --- a/src/game.h +++ b/src/game.h @@ -17,17 +17,26 @@ #include "main.h" -#define DF_DIG 0 -#define DF_SNAP 1 -#define DF_NO_PUSH 2 +#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 +#define MF_NO_ACTION 0 +#define MF_MOVING 1 +#define MF_ACTION 2 -#define EX_NORMAL 0 -#define EX_CENTER 1 -#define EX_BORDER 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 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); @@ -43,7 +52,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); @@ -52,6 +61,7 @@ void StartMoving(int, int); void ContinueMoving(int, int); int AmoebeNachbarNr(int, int); void AmoebeUmwandeln(int, int); +void AmoebeUmwandeln2(int, int, int); void AmoebeWaechst(int, int); void AmoebeAbleger(int, int); void Life(int, int); @@ -65,30 +75,29 @@ void AusgangstuerBlinken(int, int); void EdelsteinFunkeln(int, int); void MauerWaechst(int, int); void MauerAbleger(int, int); -int GameActions(int, int, int); +void GameActions(int); void ScrollLevel(int, int); -BOOL MoveFigure(int, int); -void TestIfHeroHitsBadThing(void); -void TestIfBadThingHitsHero(void); + +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); +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); -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); +BOOL SnapField(struct PlayerInfo *, int, int); +BOOL PlaceBomb(struct PlayerInfo *); void PlaySoundLevel(int, int, int); void RaiseScore(int); -void TapeInitRecording(void); -void TapeStartRecording(void); -void TapeStopRecording(void); -void TapeRecordAction(int); -void TapeRecordDelay(void); -void TapeTogglePause(void); -void TapeInitPlaying(void); -void TapeStartPlaying(void); -void TapeStopPlaying(void); -int TapePlayAction(void); -BOOL TapePlayDelay(void); -void TapeStop(void); -void TapeErase(void); +void RaiseScoreElement(int); #endif