1 // ============================================================================
2 // Mirror Magic -- McDuffin's Revenge
3 // ----------------------------------------------------------------------------
4 // (c) 1994-2017 by Artsoft Entertainment
7 // http://www.artsoft.org/
8 // ----------------------------------------------------------------------------
10 // ============================================================================
18 /* score for elements (also used by editor.c) */
19 #define SC_EDELSTEIN 0
26 #define SC_KOKOSNUSS 7
29 #define SC_ZEITBONUS 10
32 void InitAmoebaNr(int, int);
33 void GameWon_MM(void);
34 int NewHiScore_MM(void);
37 void Impact(int, int);
38 void TurnRound(int, int);
39 int AmoebeNachbarNr(int, int);
40 void AmoebeUmwandeln(int, int);
41 void AmoebeUmwandelnBD(int, int, int);
42 void AmoebeWaechst(int, int);
43 void AmoebeAbleger(int, int);
45 void Ablenk(int, int);
46 void Blubber(int, int);
47 void NussKnacken(int, int);
48 void SiebAktivieren(int, int, int);
49 void AusgangstuerPruefen(int, int);
50 void AusgangstuerOeffnen(int, int);
51 void AusgangstuerBlinken(int, int);
52 void EdelsteinFunkeln(int, int);
53 void MauerWaechst(int, int);
54 void MauerAbleger(int, int);
56 boolean MoveFigureOneStep(struct PlayerInfo *, int, int, int, int);
57 boolean MoveFigure(struct PlayerInfo *, int, int);
58 void ScrollFigure(struct PlayerInfo *, int);
59 void ScrollScreen(struct PlayerInfo *, int);
61 void TestIfGoodThingHitsBadThing(int, int);
62 void TestIfBadThingHitsGoodThing(int, int);
63 void TestIfHeroHitsBadThing(int, int);
64 void TestIfBadThingHitsHero(int, int);
65 void TestIfFriendHitsBadThing(int, int);
66 void TestIfBadThingHitsFriend(int, int);
67 void TestIfBadThingHitsOtherBadThing(int, int);
68 void KillHero(struct PlayerInfo *);
69 void BuryHero(struct PlayerInfo *);
70 void RemoveHero(struct PlayerInfo *);
71 int DigField(struct PlayerInfo *, int, int, int, int, int);
72 boolean SnapField(struct PlayerInfo *, int, int);
73 boolean PlaceBomb(struct PlayerInfo *);
74 void PlaySoundLevel(int, int, int);
76 void CreateGameButtons();
77 void UnmapGameButtons();
79 void AddLaserEdge(int, int);
80 void AddDamagedField(int, int);
82 void DrawLaser(int, int);
83 boolean HitElement(int, int);
84 boolean HitOnlyAnEdge(int, int);
85 boolean HitPolarizer(int, int);
86 boolean HitBlock(int, int);
87 boolean HitLaserSource(int, int);
88 boolean HitLaserDestination(int, int);
89 boolean HitReflectingWalls(int, int);
90 boolean HitAbsorbingWalls(int, int);
91 void RotateMirror(int, int, int);
92 boolean ObjHit(int, int, int);
93 void DeletePacMan(int, int);
95 void ColorCycling(void);
96 void MovePacMen(void);