22 #ifndef ALG_GAME_MADDOG2_H 23 #define ALG_GAME_MADDOG2_H 25 #include "common/hashmap.h" 26 #include "common/rect.h" 28 #include "gui/debugger.h" 31 #include "alg/scene.h" 58 void debugWarpTo(
int val);
62 void registerScriptFunctions();
63 void verifyScriptFunctions();
64 MD2ScriptFunctionPoint getScriptFunctionZonePtrFb(
Common::String name);
65 MD2ScriptFunctionRect getScriptFunctionRectHit(
Common::String name);
66 MD2ScriptFunctionScene getScriptFunctionScene(SceneFuncType type,
Common::String name);
71 MD2ScriptFunctionPointMap _zonePtrFb;
72 MD2ScriptFunctionRectMap _rectHitFuncs;
73 MD2ScriptFunctionSceneMap _scenePreOps;
74 MD2ScriptFunctionSceneMap _sceneShowMsg;
75 MD2ScriptFunctionSceneMap _sceneInsOps;
76 MD2ScriptFunctionSceneMap _sceneWepDwn;
77 MD2ScriptFunctionSceneMap _sceneScnScr;
78 MD2ScriptFunctionSceneMap _sceneNxtFrm;
79 MD2ScriptFunctionSceneMap _sceneNxtScn;
92 const int16 _sbClue[3] = {0x67, 0x68, 0x69};
93 const int16 _bbClue[3] = {0x47, 0x49, 0x48};
94 const int16 _tpClue[3] = {0x84, 0x85, 0x86};
95 const int16 _sbScenes[14] = {0x4A, 0x50, 0xB8, 0x55, 0x57, 0x66, 0xBE, 0x94, 0x87, 0x93, 0xCD, 0x95, 0xE3, -1};
96 const int16 _bbScenes[14] = {0x33, 0x39, 0xB4, 0x41, 0x43, 0x46, 0xA2, 0x8D, 0x87, 0x8F, 0xCD, 0x8E, 0xE3, -1};
97 const int16 _tpScenes[14] = {0x6A, 0xC3, 0x76, 0x81, 0xAD, 0x83, 0xDC, 0x92, 0x87, 0x90, 0xCD, 0x91, 0xE3, -1};
98 const int16 _villageScenes[6] = {0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x62};
99 const int16 _cowboyScenes[7] = {0xCD, 0xCF, 0xD2, 0xD4, 0xD6, 0xD8, 0xDA};
100 const int16 _farmyardScenes[4] = {0xDC, 0xDE, 0x129, 0xE1};
101 const int16 _caveScenes[5] = {0xE4, 0xE6, 0xE8, 0xEA, 0xEC};
102 const int16 _ezShootOuts[5] = {0xAB, 0xBC, 0xC5, 0xC7, 0xCB};
103 const int16 _shootOuts[6] = {0xAB, 0xBC, 0xC5, 0xC7, 0xC9, 0xCB};
104 const int16 _ggScenes[3] = {0x87, 0x88, 0x89};
105 const int16 _dieScenes[6] = {0x96, 0x97, 0x98, 0x9B, 0x9F, 0xA1};
107 const uint16 _diffPos[3][2] = {{0x0FA, 0x6E}, {0xFA, 0x8E}, {0xFA, 0xAF}};
108 const uint16 _livePos[3][2] = {{0x81, 0xBE}, {0x70, 0xBE}, {0x5F, 0xBE}};
109 const uint16 _shotPos[12][2] = {{0x96, 0xBD}, {0x9A, 0xBD}, {0x9E, 0xBD}, {0x0A2, 0xBD}, {0x0A6, 0xBD}, {0x0AA, 0xBD}, {0x0AE, 0xBD}, {0x0B2, 0xBD}, {0x0B6, 0xBD}, {0x0BA, 0xBD}, {0x0BE, 0xBD}, {0x0C2, 0xBD}};
117 bool _hadSkull =
false;
118 int16 _thisGuide = 0;
119 uint16 _doneGuide = 0;
120 uint16 _shootOutBits = 0;
121 int16 _lastShootOut = 0;
122 uint16 _startLives = 3;
123 bool _wasAShootout =
false;
124 bool _shootoutFromDie =
false;
125 uint16 _whichPadre = 0;
126 uint16 _whichGatlingGun = 0;
127 bool _inShootout =
false;
128 uint16 _pickMask = 0;
129 uint16 _lastPick = 0;
130 uint16 _placeBits = 0;
131 uint16 _randomCount = 0;
132 uint16 _shootOutCnt = 0;
133 uint16 _totalDies = 0;
140 void changeDifficulty(uint8 newDifficulty);
141 void showDifficulty(uint8 newDifficulty,
bool updateCursor);
155 uint16 pickBits(uint16 *bits, uint8 max);
156 uint16 pickShootout();
169 void rectShotmenu(
Rect *rect);
170 void rectSave(
Rect *rect);
171 void rectLoad(
Rect *rect);
172 void rectContinue(
Rect *rect);
173 void rectStart(
Rect *rect);
174 void rectSkull(
Rect *rect);
175 void rectKillInnocentMan(
Rect *rect);
176 void rectKillInnocentWoman(
Rect *rect);
177 void rectSelectBeaver(
Rect *rect);
178 void rectSelectBonnie(
Rect *rect);
179 void rectSelectProfessor(
Rect *rect);
180 void rectShotAmmo(
Rect *rect);
181 void rectShotGin(
Rect *rect);
182 void rectShotLantern(
Rect *rect);
183 void rectShootSkull(
Rect *rect);
186 void scenePsoShootout(
Scene *scene);
187 void scenePsoMDShootout(
Scene *scene);
190 void sceneIsoShootpast(
Scene *scene);
191 void sceneIsoShootpastPause(
Scene *scene);
192 void sceneIsoStagecoach(
Scene *scene);
193 void sceneIsoDifferentPadres(
Scene *scene);
194 void sceneIsoDifferentPadresPause(
Scene *scene);
195 void sceneIsoDontPopNext(
Scene *scene);
196 void sceneIsoGetIntoRock(
Scene *scene);
197 void sceneIsoBenAtCave(
Scene *scene);
198 void sceneIsoSkullAtCave(
Scene *scene);
199 void sceneIsoStartOfTrain(
Scene *scene);
200 void sceneIsoMission(
Scene *scene);
201 void sceneIsoMDShootout(
Scene *scene);
202 void sceneIsoStartOfBoardinghouse(
Scene *scene);
203 void sceneIsoDontContinue(
Scene *scene);
204 void sceneIsoDoShootout(
Scene *scene);
207 void sceneDefaultNxtscn(
Scene *scene);
208 void sceneNxtscnDied(
Scene *scene);
209 void sceneNxtscnKillInnocentMan(
Scene *scene);
210 void sceneNxtscnKillInnocentWoman(
Scene *scene);
211 void sceneNxtscnKillGuide(
Scene *scene);
212 void sceneNxtscnShootSkull(
Scene *scene);
213 void sceneNxtscnCallAttract(
Scene *scene);
214 void sceneNxtscnPickUndertaker(
Scene *scene);
215 void sceneNxtscnChoosePadre(
Scene *scene);
216 void sceneNxtscnSelectGuide(
Scene *scene);
217 void sceneNxtscnSaveBonnie(
Scene *scene);
218 void sceneNxtscnFinishBonnie(
Scene *scene);
219 void sceneNxtscnShowGGClue(
Scene *scene);
220 void sceneNxtscnBBAfterClue(
Scene *scene);
221 void sceneNxtscnAsFarSheGoes(
Scene *scene);
222 void sceneNxtscnSaveBeaver(
Scene *scene);
223 void sceneNxtscnFinishBeaver(
Scene *scene);
224 void sceneNxtscnToGatlingGunSBClue(
Scene *scene);
225 void sceneNxtscnToGuideafterClue(
Scene *scene);
226 void sceneNxtscnToGuideCave(
Scene *scene);
227 void sceneNxtscnInitRandomVillage(
Scene *scene);
228 void sceneNxtscnPickVillageScenes(
Scene *scene);
229 void sceneNxtscnSaveProfessor(
Scene *scene);
230 void sceneNxtscnFinishProfessor(
Scene *scene);
231 void sceneNxtscnToGatlingGunTPClue(
Scene *scene);
232 void sceneNxtscnTPAfterClue(
Scene *scene);
233 void sceneNxtscnFinishGatlingGun1(
Scene *scene);
234 void sceneNxtscnFinishGuyAtGG(
Scene *scene);
235 void sceneNxtscnFinishGatlingGun2(
Scene *scene);
236 void sceneNxtscnHowWeDid(
Scene *scene);
237 void sceneNxtscnPlayerWon(
Scene *scene);
238 void sceneNxtscnBackToNextGuide(
Scene *scene);
239 void sceneNxtscnFinishGenericScene(
Scene *scene);
240 void sceneNxtscnInitRandomCowboys(
Scene *scene);
241 void sceneNxtscnToCowboyScenes(
Scene *scene);
242 void sceneNxtscnInitRandomFarmyard(
Scene *scene);
243 void sceneNxtscnToFarmyardScenes(
Scene *scene);
244 void sceneNxtscnInitRandomCave(
Scene *scene);
245 void sceneNxtscnToCaveScenes(
Scene *scene);
246 void sceneNxtscnPickSkullAtCave(
Scene *scene);
247 void sceneNxtscnDrawGun(
Scene *scene);
250 void sceneDefaultWepdwn(
Scene *scene);
256 bool cmdWarpTo(
int argc,
const char **argv);
257 bool cmdDumpLib(
int argc,
const char **argv);
Definition: game_maddog2.h:42
Definition: debugger.h:41
Definition: game_maddog2.h:253
Definition: detection.h:39