25 #include "common/random.h" 26 #include "common/serializer.h" 27 #include "engines/engine.h" 28 #include "graphics/managed_surface.h" 29 #include "graphics/wincursor.h" 30 #include "video/smk_decoder.h" 31 #include "video/subtitles.h" 33 #include "private/grammar.h" 57 kPrivateDebugFunction = 1,
64 const int kPaperShuffleSound[7] = {32, 33, 34, 35, 36, 37, 39};
68 const int kPoliceBustVideos[6] = {1, 2, 4, 5, 7, 8};
72 const int kOriginZero[2] = {0, 0};
73 const int kOriginOne[2] = {64, 48};
77 extern Gen::VM *Gen::g_vm;
101 bool useBoxCollision;
110 useBoxCollision =
false;
117 inventoryItem.
clear();
121 enum PhoneStatus : byte {
123 kPhoneStatusAvailable,
151 int disabledPriority1;
152 bool exactPriorityMatch1;
153 int disabledPriority2;
154 bool exactPriorityMatch2;
165 Radio() : sound(
nullptr) {
171 for (uint i = 0; i <
ARRAYSIZE(channels); i++) {
249 int _screenW, _screenH;
258 bool _shouldHighlightMasks;
259 bool _highlightMasks;
278 void pauseEngineIntern(
bool pause)
override;
284 NameToPtr _functions;
322 void loadSubtitles(
const Common::Path &path, SubtitleType type,
Sound *sound =
nullptr);
324 void updateSubtitles();
325 void destroySubtitles();
326 void adjustSubtitleSize();
336 static uint32 findMaskTransparentColor(
const byte *palette, uint32 defaultColor);
337 static void swapImageColors(
Graphics::Surface *image, byte *palette, uint32 a, uint32 b);
339 void drawScreenFrame(
const byte *videoPalette);
357 uint32 _transparentColor;
367 bool _needToDrawScreenFrame;
388 const char *getSymbolName(
const char *name,
const char *strippedName,
const char *demoName =
nullptr);
395 DossierArray _dossiers;
396 uint _dossierSuspect;
412 bool _policeBustEnabled;
413 bool _policeSirenPlayed;
415 int _numberClicksAfterSiren;
416 int _policeBustMovieIndex;
419 void resetPoliceBust();
420 void startPoliceBust();
421 void stopPoliceBust();
422 void wallSafeAlarm();
423 void completePoliceBust();
424 void checkPoliceBust();
431 void removeRandomInventory();
437 DiaryPages _diaryPages;
438 int _currentDiaryPage;
444 void loadMemories(
const Common::Rect &rect, uint rightPageOffset, uint verticalOffset);
449 void setLocationAsVisited(
Symbol *location);
450 int getMaxLocationValue();
460 PlayedMediaTable _playedMovies;
472 void stopForegroundSounds();
474 void stopSound(
Sound &sound);
475 bool isSoundPlaying();
476 bool isSoundPlaying(
Sound &sound);
477 void waitForSoundsToStop();
478 bool consumeEvents();
481 Sound _phoneCallSound;
483 Sound _policeRadioSound;
484 Sound _takeLeaveSound;
503 int disabledPriority1,
bool exactPriorityMatch1,
504 int disabledPriority2,
bool exactPriorityMatch2,
506 void initializeAMRadioChannels(uint clipCount);
507 void initializePoliceRadioChannels();
508 void disableRadioClips(
Radio &radio,
int priority);
509 void playRadio(
Radio &radio,
bool randomlyDisableClips);
518 void initializePhoneOnDesktop();
519 void checkPhoneCall();
528 void initializeWallSafeValue();
531 int getSafeDigit(uint32 d);
532 void incrementSafeDigit(uint32 d);
535 bool getRandomBool(uint);
540 uint32 _timerStartTime;
#define ARRAYSIZE(x)
Definition: util.h:112
Definition: managed_surface.h:51
Definition: image_decoder.h:53
Definition: wincursor.h:54
EngineFeature
Definition: engine.h:258
Definition: private.h:159
Definition: advancedDetector.h:164
void clear()
Definition: array.h:321
Definition: private.h:134
Definition: smk_decoder.h:77
bool canSaveAutosaveCurrently() override
Definition: private.h:306
Definition: archive.h:141
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: private.h:303
Definition: subtitles.h:78
Definition: private.h:129
Definition: private.h:244
Definition: private.h:237
Definition: algorithm.h:29
Definition: private.h:200
Definition: private.h:147
Definition: formatinfo.h:28
Definition: decompiler.h:30
Definition: private.h:182
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: private.h:309
Definition: private.h:189
Definition: private.h:177
Definition: private.h:194
Definition: movie_decoder.h:32
Definition: private.h:207
void setEmpty()
Definition: rect.h:363
Language
Definition: language.h:45