22 #ifndef ALG_GAME_MADDOG_H 23 #define ALG_GAME_MADDOG_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 MDScriptFunctionPoint getScriptFunctionZonePtrFb(
Common::String name);
65 MDScriptFunctionRect getScriptFunctionRectHit(
Common::String name);
66 MDScriptFunctionScene getScriptFunctionScene(SceneFuncType type,
Common::String name);
71 MDScriptFunctionPointMap _zonePtrFb;
72 MDScriptFunctionRectMap _rectHitFuncs;
73 MDScriptFunctionSceneMap _scenePreOps;
74 MDScriptFunctionSceneMap _sceneShowMsg;
75 MDScriptFunctionSceneMap _sceneInsOps;
76 MDScriptFunctionSceneMap _sceneWepDwn;
77 MDScriptFunctionSceneMap _sceneScnScr;
78 MDScriptFunctionSceneMap _sceneNxtFrm;
79 MDScriptFunctionSceneMap _sceneNxtScn;
92 const uint16 _fight[3] = {208, 228, 243};
93 const uint16 _ambush[3] = {192, 193, 192};
94 const uint16 _hotelScenes[10] = {77, 77, 87, 87, 89, 89, 97, 97, 105, 105};
95 const uint16 _bottleToss[14] = {171, 171, 174, 174, 175, 175, 178, 178, 179, 179, 182, 182, 183, 183};
97 const uint16 _diffPos[4][2] = {{0, 0}, {0x4D, 0x43}, {0x4E, 0x66}, {0x4F, 0x80}};
98 const uint16 _livePos[3][2] = {{0x03, 0x5E}, {0x03, 0x76}, {0x03, 0x8E}};
99 const uint16 _shotPos[12][2] = {{0x3, 0x5}, {0x0D, 0x5}, {0x17, 0x5}, {0x21, 0x5}, {0x3, 0x21}, {0x0D, 0x21}, {0x17, 0x21}, {0x21, 0x21}, {0x3, 0x3D}, {0x0D, 0x3D}, {0x17, 0x3D}, {0x21, 0x3D}};
103 uint8 _badMenBits = 0;
104 bool _bartenderAlive =
false;
107 uint8 _bottlesMask = 0;
108 bool _gotClue =
false;
111 bool _hadSkull =
false;
112 bool _hadLantern =
false;
113 bool _hideOutFront =
false;
114 bool _inShootout =
false;
119 uint8 _maxMapPos = 0;
120 uint8 _peopleKilled = 0;
122 uint8 _sheriffCnt = 0;
123 uint8 _shootOutCnt = 0;
130 void changeDifficulty(uint8 newDifficulty);
131 void showDifficulty(uint8 newDifficulty,
bool updateCursor);
143 uint8 pickRand(uint8 *bits, uint8 max);
144 uint8 pickBad(uint8 max);
156 void rectShotMenu(
Rect *rect);
157 void rectContinue(
Rect *rect);
158 void rectSave(
Rect *rect);
159 void rectLoad(
Rect *rect);
160 void rectStart(
Rect *rect);
161 void rectStartBottles(
Rect *rect);
162 void rectHideFront(
Rect *rect);
163 void rectHideRear(
Rect *rect);
164 void rectMenuSelect(
Rect *rect);
165 void rectSkull(
Rect *rect);
166 void rectKillMan(
Rect *rect);
167 void rectKillWoman(
Rect *rect);
168 void rectProspSign(
Rect *rect);
169 void rectMineSign(
Rect *rect);
170 void rectMineItem1(
Rect *rect);
171 void rectMineItem2(
Rect *rect);
172 void rectMineItem3(
Rect *rect);
173 void rectMineLantern(
Rect *rect);
174 void rectShotHideout(
Rect *rect);
175 void rectShotRight(
Rect *rect);
176 void rectShotLeft(
Rect *rect);
179 void scenePsoShootout(
Scene *scene);
180 void scenePsoMDShootout(
Scene *scene);
183 void sceneIsoShootPast(
Scene *scene);
184 void sceneIsoShootPastPause(
Scene *scene);
185 void sceneIsoSkipSaloon(
Scene *scene);
186 void sceneIsoSkipSaloon2(
Scene *scene);
187 void sceneIsoCheckSaloon(
Scene *scene);
188 void sceneIsoIntoStable(
Scene *scene);
189 void sceneIsoIntoOffice(
Scene *scene);
190 void sceneIsoIntoBank(
Scene *scene);
191 void sceneIsoCheckBartender(
Scene *scene);
192 void sceneIsoDidHideout(
Scene *scene);
193 void sceneIsoDidSignPost(
Scene *scene);
194 void sceneIsoDoShootout(
Scene *scene);
195 void sceneIsoMDShootout(
Scene *scene);
196 void sceneIsoShotInto116(
Scene *scene);
199 void sceneDefaultNxtscn(
Scene *scene);
200 void sceneNxtscnPickBottle(
Scene *scene);
201 void sceneNxtscnDied(
Scene *scene);
202 void sceneNxtscnAutoSelect(
Scene *scene);
203 void sceneNxtscnFinishSaloon(
Scene *scene);
204 void sceneNxtscnFinishOffice(
Scene *scene);
205 void sceneNxtscnFinishStable(
Scene *scene);
206 void sceneNxtscnFinishBank(
Scene *scene);
207 void sceneNxtscnPicSaloon(
Scene *scene);
208 void sceneNxtscnKillMan(
Scene *scene);
209 void sceneNxtscnKillWoman(
Scene *scene);
210 void sceneNxtscnBank(
Scene *scene);
211 void sceneNxtscnStable(
Scene *scene);
212 void sceneNxtscnSavProsp(
Scene *scene);
213 void sceneNxtscnPickToss(
Scene *scene);
214 void sceneNxtscnHitToss(
Scene *scene);
215 void sceneNxtscnMissToss(
Scene *scene);
216 void sceneNxtscnPickSign(
Scene *scene);
217 void sceneNxtscnBRockMan(
Scene *scene);
218 void sceneNxtscnLRockMan(
Scene *scene);
219 void sceneNxtscnHotelMen(
Scene *scene);
222 void sceneDefaultWepdwn(
Scene *scene);
228 bool cmdWarpTo(
int argc,
const char **argv);
229 bool cmdDumpLib(
int argc,
const char **argv);
Definition: debugger.h:41
Definition: game_maddog.h:42
Definition: game_maddog.h:225
Definition: detection.h:39