22 #ifndef ALG_GAME_SPACEPIRATES_H 23 #define ALG_GAME_SPACEPIRATES_H 25 #include "common/hashmap.h" 26 #include "common/rect.h" 28 #include "gui/debugger.h" 31 #include "alg/scene.h" 57 void debugWarpTo(
int val);
61 void registerScriptFunctions();
62 void verifyScriptFunctions();
63 SPScriptFunctionRect getScriptFunctionRectHit(
Common::String name);
64 SPScriptFunctionScene getScriptFunctionScene(SceneFuncType type,
Common::String name);
68 SPScriptFunctionRectMap _rectHitFuncs;
69 SPScriptFunctionSceneMap _scenePreOps;
70 SPScriptFunctionSceneMap _sceneShowMsg;
71 SPScriptFunctionSceneMap _sceneInsOps;
72 SPScriptFunctionSceneMap _sceneWepDwn;
73 SPScriptFunctionSceneMap _sceneScnScr;
74 SPScriptFunctionSceneMap _sceneNxtFrm;
75 SPScriptFunctionSceneMap _sceneNxtScn;
76 SPScriptFunctionSceneMap _sceneMissedRects;
91 bool _gameLoaded =
false;
92 int8 _livesLoaded = 0;
93 uint16 _shotsLoaded = 0;
94 int32 _scoreLoaded = 0;
95 uint8 _difficultyLoaded = 0;
96 bool _nextSceneFound =
false;
97 bool _playerDied =
false;
98 int16 _randomPicked = -1;
99 uint32 _lastExtraLifeScore = 0;
100 uint16 _randomScenesValues[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
101 uint8 _randomScenesUsed[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
102 uint8 _maxRandom = 0;
103 uint8 _randomCount = 0;
104 uint8 _randomCountAsteroids = 0;
105 uint8 _randomCountMidship = 0;
106 uint8 _miscRoomsCount = 0;
107 uint16 _pickedMiscRooms = 0;
109 int8 _currentWorld = 0;
110 uint16 _worldGotTo[4] = {0, 0, 0, 0};
111 bool _worldDone[4] = {
false,
false,
false,
false};
112 bool _selectedAWorld =
false;
113 uint16 _selectedWorldStart = 0;
114 uint16 _sceneBeforeFlyingSkulls = 0;
115 uint8 _shotGrinReaperCount = 0;
117 uint8 _shotColor = 0;
118 uint8 _shotDirection = 0;
119 uint8 _crystalsShot = 0;
120 uint8 _crystalState = 0;
121 uint16 _pickedStartSplitter = 0;
122 bool _targetPracticeReset =
false;
128 void changeDifficulty(uint8 newDifficulty);
129 void showDifficulty(uint8 newDifficulty,
bool updateCursor);
133 void displayLivesLeft();
134 void displayScores();
135 void displayShotsLeft();
141 void playErrorSound();
142 void displayShotFiredImage();
144 void displayShotLine(uint16 startX, uint16 startY, uint16 endX, uint16 endY);
145 void displayMultipleShotLines();
146 void enableVideoFadeIn();
147 uint16 sceneToNumber(
Scene *scene);
148 uint16 randomUnusedScene(uint8 max);
149 uint16 randomNumberInRange(uint16 min, uint16 max);
150 uint16 pickCrystalScene(uint16 scene1, uint16 scene2, uint16 scene3);
153 void rectShotMenu(
Rect *rect);
154 void rectSave(
Rect *rect);
155 void rectLoad(
Rect *rect);
156 void rectContinue(
Rect *rect);
157 void rectStart(
Rect *rect);
158 void rectEasy(
Rect *rect);
159 void rectAverage(
Rect *rect);
160 void rectHard(
Rect *rect);
161 void rectDefault(
Rect *rect);
162 void rectKillInnocentPerson(
Rect *rect);
163 void rectContinueJunkRings(
Rect *rect);
164 void rectShotGrinReaper(
Rect *rect);
165 void rectShowMadDog(
Rect *rect);
166 void rectPottWorldShowCrystal(
Rect *rect);
167 void rectShotLeft(
Rect *rect);
168 void rectShotRight(
Rect *rect);
169 void rectShotGold(
Rect *rect);
170 void rectShotSilver(
Rect *rect);
171 void rectSelectedDuneWorld(
Rect *rect);
172 void rectSelectedJunkWorld(
Rect *rect);
173 void rectSelectedDragonsTeethWorld(
Rect *rect);
174 void rectSelectedVolcanoWorld(
Rect *rect);
175 void rectShotRedDeathGrip(
Rect *rect);
176 void rectShotBlueDeathGrip(
Rect *rect);
177 void rectShotGreenDeathGrip(
Rect *rect);
178 void rectShotYellow(
Rect *rect);
179 void rectShotBlue(
Rect *rect);
180 void rectShotRedCrystal(
Rect *rect);
181 void rectShotBlueCrystal(
Rect *rect);
182 void rectShotGreenCrystal(
Rect *rect);
183 void rectShotBlackDragon1(
Rect *rect);
184 void rectShotBlackDragon2(
Rect *rect);
185 void rectShotBlackDragon3(
Rect *rect);
186 void rectDoFlyingSkull(
Rect *rect);
187 void rectSkipScene(
Rect *rect);
188 void rectHitPirateShip(
Rect *rect);
191 void scenePsoFadeInVideo(
Scene *scene);
192 void scenePsoSetGotTo(
Scene *scene);
193 void scenePsoSetGotToNoFadeIn(
Scene *scene);
194 void scenePsoSetWorldGotTo(
Scene *scene);
197 void sceneIsoPickAWorld(
Scene *scene);
198 void sceneIsoSetWorldGotTo(
Scene *scene);
201 void sceneNxtscnGotChewedOut(
Scene *scene);
202 void sceneNxtscnRestartFromLast(
Scene *scene);
203 void sceneNxtscnPlayerDied(
Scene *scene);
204 void sceneNxtscnMiscRooms1(
Scene *scene);
205 void sceneNxtscnPickDungeonClue(
Scene *scene);
206 void sceneNxtscnContinueDungeonClue(
Scene *scene);
207 void sceneNxtscnStartMidshipRandomScene(
Scene *scene);
208 void sceneNxtscnContinueMidshipRandomScene(
Scene *scene);
209 void sceneNxtscnShowDeathGripBeamColor(
Scene *scene);
210 void sceneNxtscnSelectAsteroids(
Scene *scene);
211 void sceneNxtscnAsteroidsDone(
Scene *scene);
212 void sceneNxtscnDoFlyingSkulls(
Scene *scene);
213 void sceneNxtscnDidFlyingSkulls(
Scene *scene);
214 void sceneNxtscnShowWhichStartSplitter(
Scene *scene);
215 void sceneNxtscnGotoSelectedWorld(
Scene *scene);
216 void sceneNxtscnStartVolcanoPopup(
Scene *scene);
217 void sceneNxtscnContinueVolcanoPopup(
Scene *scene);
218 void sceneNxtscnGiveFalinaClue(
Scene *scene);
219 void sceneNxtscnCheckFalinaClues(
Scene *scene);
220 void sceneNxtscnSetupFalinaTargetPractice(
Scene *scene);
221 void sceneNxtscnContinueFalinaTargetPractice(
Scene *scene);
222 void sceneNxtscnStartDunePopup(
Scene *scene);
223 void sceneNxtscnContinueDunePopup(
Scene *scene);
224 void sceneNxtscnPottOrPanShoots(
Scene *scene);
225 void sceneNxtscnSetupPottTargetPractice(
Scene *scene);
226 void sceneNxtscnContinuePottTargetPractice(
Scene *scene);
227 void sceneNxtscnStartDragonsTeethPopup(
Scene *scene);
228 void sceneNxtscnContinueDragonsTeethPopup(
Scene *scene);
229 void sceneNxtscnGrinReaperClue(
Scene *scene);
230 void sceneNxtscnStartGrinReaper(
Scene *scene);
231 void sceneNxtscnContinueGrinReaper(
Scene *scene);
232 void sceneNxtscnGrinTargetPractice(
Scene *scene);
233 void sceneNxtscnContinueGrinTargetPractice(
Scene *scene);
234 void sceneNxtscnStartJunkWorld(
Scene *scene);
235 void sceneNxtscnContinueJunkWorld(
Scene *scene);
236 void sceneNxtscnStartJunkRings(
Scene *scene);
237 void sceneNxtscnShowJunkWorldCrystal(
Scene *scene);
238 void sceneNxtscnStartJunkWorldTargetPractice(
Scene *scene);
239 void sceneNxtscnContinueJunkWorldTargetPractice(
Scene *scene);
240 void sceneNxtscnAreAllWorldsDone(
Scene *scene);
241 void sceneNxtscnStartPracticePirateShip(
Scene *scene);
242 void sceneNxtscnMorePracticePirateShip(
Scene *scene);
243 void sceneNxtscnPlayerWon(
Scene *scene);
246 void sceneMissedRectsDefault(
Scene *scene);
247 void sceneMissedRectsMissedPirateShip(
Scene *scene);
250 void sceneDefaultWepdwn(
Scene *scene);
253 void sceneDefaultScnscr(
Scene *scene);
259 bool cmdWarpTo(
int argc,
const char **argv);
260 bool cmdDumpLib(
int argc,
const char **argv);
Definition: debugger.h:41
Definition: game_spacepirates.h:40
Definition: game_spacepirates.h:256
Definition: detection.h:39