added check to prevent crash when drawing sprites for undefined graphics
[rocksndiamonds.git] / src / game_mm / mm_game.h
1 // ============================================================================
2 // Mirror Magic -- McDuffin's Revenge
3 // ----------------------------------------------------------------------------
4 // (c) 1994-2017 by Artsoft Entertainment
5 //                  Holger Schemel
6 //                  info@artsoft.org
7 //                  http://www.artsoft.org/
8 // ----------------------------------------------------------------------------
9 // mm_game.h
10 // ============================================================================
11
12 #ifndef MM_GAME_H
13 #define MM_GAME_H
14
15 #include "main_mm.h"
16
17
18 void InitAmoebaNr(int, int);
19 void GameWon_MM(void);
20 int NewHiScore_MM(void);
21
22 void Blurb(int, int);
23 void Impact(int, int);
24 void TurnRound(int, int);
25 int AmoebeNachbarNr(int, int);
26 void AmoebeUmwandeln(int, int);
27 void AmoebeUmwandelnBD(int, int, int);
28 void AmoebeWaechst(int, int);
29 void AmoebeAbleger(int, int);
30 void Life(int, int);
31 void Ablenk(int, int);
32 void Blubber(int, int);
33 void NussKnacken(int, int);
34 void SiebAktivieren(int, int, int);
35 void AusgangstuerPruefen(int, int);
36 void AusgangstuerOeffnen(int, int);
37 void AusgangstuerBlinken(int, int);
38 void EdelsteinFunkeln(int, int);
39 void MauerWaechst(int, int);
40 void MauerAbleger(int, int);
41
42 boolean MoveFigureOneStep(struct PlayerInfo *, int, int, int, int);
43 boolean MoveFigure(struct PlayerInfo *, int, int);
44 void ScrollFigure(struct PlayerInfo *, int);
45 void ScrollScreen(struct PlayerInfo *, int);
46
47 void TestIfGoodThingHitsBadThing(int, int);
48 void TestIfBadThingHitsGoodThing(int, int);
49 void TestIfHeroHitsBadThing(int, int);
50 void TestIfBadThingHitsHero(int, int);
51 void TestIfFriendHitsBadThing(int, int);
52 void TestIfBadThingHitsFriend(int, int);
53 void TestIfBadThingHitsOtherBadThing(int, int);
54 void KillHero(struct PlayerInfo *);
55 void BuryHero(struct PlayerInfo *);
56 void RemoveHero(struct PlayerInfo *);
57 int DigField(struct PlayerInfo *, int, int, int, int, int);
58 boolean SnapField(struct PlayerInfo *, int, int);
59 boolean PlaceBomb(struct PlayerInfo *);
60 void PlaySoundLevel(int, int, int);
61
62 void CreateGameButtons();
63 void UnmapGameButtons();
64
65 void AddLaserEdge(int, int);
66 void AddDamagedField(int, int);
67 void ScanLaser(void);
68 void DrawLaser(int, int);
69 boolean HitElement(int, int);
70 boolean HitOnlyAnEdge(int, int);
71 boolean HitPolarizer(int, int);
72 boolean HitBlock(int, int);
73 boolean HitLaserSource(int, int);
74 boolean HitLaserDestination(int, int);
75 boolean HitReflectingWalls(int, int);
76 boolean HitAbsorbingWalls(int, int);
77 void RotateMirror(int, int, int);
78 boolean ObjHit(int, int, int);
79 void DeletePacMan(int, int);
80
81 void ColorCycling(void);
82 void MovePacMen(void);
83
84 #endif