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;
260 bool _readingMaterialContrast;
279 void pauseEngineIntern(
bool pause)
override;
285 NameToPtr _functions;
323 void loadSubtitles(
const Common::Path &path, SubtitleType type,
Sound *sound =
nullptr);
325 void updateSubtitles();
326 void destroySubtitles();
327 void adjustSubtitleSize();
337 static uint32 findMaskTransparentColor(
const byte *palette, uint32 defaultColor);
338 static void swapImageColors(
Graphics::Surface *image, byte *palette, uint32 a, uint32 b);
339 void setPaperScanFiltering(
bool enabled);
341 void drawScreenFrame(
const byte *videoPalette);
359 uint32 _transparentColor;
369 bool _needToDrawScreenFrame;
370 bool _paperScanFilteringActive;
371 bool _paperScanPreviousFiltering;
392 const char *getSymbolName(
const char *name,
const char *strippedName,
const char *demoName =
nullptr);
399 DossierArray _dossiers;
400 uint _dossierSuspect;
416 bool _policeBustEnabled;
417 bool _policeSirenPlayed;
419 int _numberClicksAfterSiren;
420 int _policeBustMovieIndex;
423 void resetPoliceBust();
424 void startPoliceBust();
425 void stopPoliceBust();
426 void wallSafeAlarm();
427 void completePoliceBust();
428 void checkPoliceBust();
435 void removeRandomInventory();
441 DiaryPages _diaryPages;
442 int _currentDiaryPage;
448 void loadMemories(
const Common::Rect &rect, uint rightPageOffset, uint verticalOffset);
453 void setLocationAsVisited(
Symbol *location);
454 int getMaxLocationValue();
464 PlayedMediaTable _playedMovies;
476 void stopForegroundSounds();
478 void stopSound(
Sound &sound);
479 bool isSoundPlaying();
480 bool isSoundPlaying(
Sound &sound);
481 void waitForSoundsToStop();
482 bool consumeEvents();
485 Sound _phoneCallSound;
487 Sound _policeRadioSound;
488 Sound _takeLeaveSound;
507 int disabledPriority1,
bool exactPriorityMatch1,
508 int disabledPriority2,
bool exactPriorityMatch2,
510 void initializeAMRadioChannels(uint clipCount);
511 void initializePoliceRadioChannels();
512 void disableRadioClips(
Radio &radio,
int priority);
513 void playRadio(
Radio &radio,
bool randomlyDisableClips);
522 void initializePhoneOnDesktop();
523 void checkPhoneCall();
532 void initializeWallSafeValue();
535 int getSafeDigit(uint32 d);
536 void incrementSafeDigit(uint32 d);
539 bool getRandomBool(uint);
544 uint32 _timerStartTime;
#define ARRAYSIZE(x)
Definition: util.h:114
Definition: managed_surface.h:51
Definition: image_decoder.h:53
Definition: wincursor.h:54
EngineFeature
Definition: engine.h:282
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:307
Definition: archive.h:141
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: private.h:304
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:310
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:375
Language
Definition: language.h:45