ScummVM API documentation
dwayne_dialogue.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef HARVESTER_NPC_DWAYNE_DIALOGUE_H
23 #define HARVESTER_NPC_DWAYNE_DIALOGUE_H
24 
25 #include "harvester/npc/dialogue_handler.h"
26 
27 namespace Harvester {
28 
30 public:
32  bool pendingInitialConversation = true;
33  bool sheriffInDinerIntroPending = true;
34  bool sheriffInDinerIntroPlayed = false;
35  bool eventFollowupGate = false;
36  bool tvDeedReplyOverride = false;
37  bool presentedEvidenceReplyOverride = false;
38  bool discussedBoylesButton = false;
39  bool discussedKarinPurse = false;
40  bool pendingKarinAliveFollowup = false;
41  bool completedKarinAliveFollowup = false;
42  int pendingKarinAliveFollowupDayIndex = 0;
43  bool bringKarinToSheriffLinePlayed = false;
44  bool whaleyDisciplineFollowupShown = false;
45  bool noteCheckbookFollowupShown = false;
46  bool scratchedTuckerShown = false;
47  bool boltOfClothTakenShown = false;
48  bool barberPoleStolenShown = false;
49  bool dinerBurnedShown = false;
50  bool escapedJailShown = false;
51  bool gotRemainsForLodgeShown = false;
52  bool burnedTvStationShown = false;
53  bool karinKidnapedShown = false;
54  bool pendingKarinAliveFollowupLinePlayed = false;
55  bool karinFoundDeadWithoutPurseShown = false;
56  bool jimmyAbsentShown = false;
57  bool moynahanAbsentShown = false;
58  bool ednaHungShown = false;
59  bool mcknightAbsentShown = false;
60  Common::String currentTopicBuffer;
61  int currentTopicBufferLineIndex = -1;
62  };
63 
64  bool matchesNpc(const Common::String &npcName) const override;
65  void resetState() override { _state = DwayneRoomDialogueState(); }
66  void syncState(Common::Serializer &s) override {
67  syncDialogueBool(s, _state.pendingInitialConversation);
68  syncDialogueBool(s, _state.sheriffInDinerIntroPending);
69  syncDialogueBool(s, _state.sheriffInDinerIntroPlayed);
70  syncDialogueBool(s, _state.eventFollowupGate);
71  syncDialogueBool(s, _state.tvDeedReplyOverride);
72  syncDialogueBool(s, _state.presentedEvidenceReplyOverride);
73  syncDialogueBool(s, _state.discussedBoylesButton);
74  syncDialogueBool(s, _state.discussedKarinPurse);
75  syncDialogueBool(s, _state.pendingKarinAliveFollowup);
76  syncDialogueBool(s, _state.completedKarinAliveFollowup);
77  syncDialogueInt(s, _state.pendingKarinAliveFollowupDayIndex);
78  syncDialogueBool(s, _state.bringKarinToSheriffLinePlayed);
79  syncDialogueBool(s, _state.whaleyDisciplineFollowupShown);
80  syncDialogueBool(s, _state.noteCheckbookFollowupShown);
81  syncDialogueBool(s, _state.scratchedTuckerShown);
82  syncDialogueBool(s, _state.boltOfClothTakenShown);
83  syncDialogueBool(s, _state.barberPoleStolenShown);
84  syncDialogueBool(s, _state.dinerBurnedShown);
85  syncDialogueBool(s, _state.escapedJailShown);
86  syncDialogueBool(s, _state.gotRemainsForLodgeShown);
87  syncDialogueBool(s, _state.burnedTvStationShown);
88  syncDialogueBool(s, _state.karinKidnapedShown);
89  syncDialogueBool(s, _state.pendingKarinAliveFollowupLinePlayed);
90  syncDialogueBool(s, _state.karinFoundDeadWithoutPurseShown);
91  syncDialogueBool(s, _state.jimmyAbsentShown);
92  syncDialogueBool(s, _state.moynahanAbsentShown);
93  syncDialogueBool(s, _state.ednaHungShown);
94  syncDialogueBool(s, _state.mcknightAbsentShown);
95  syncDialogueString(s, _state.currentTopicBuffer);
96  syncDialogueInt(s, _state.currentTopicBufferLineIndex);
97  }
98  Common::Error handleDialogue(DialogueRuntime &runtime,
99  const Common::String &usedItemName, DialogueSharedState &sharedState) override;
100 
101 private:
103 };
104 
105 } // End of namespace Harvester
106 
107 #endif // HARVESTER_NPC_DWAYNE_DIALOGUE_H
Definition: str.h:59
Definition: art.h:31
Definition: error.h:81
Definition: dialogue_handler.h:99
Definition: dialogue_handler.h:56
Definition: serializer.h:80
Definition: dialogue_runtime.h:57
Definition: dwayne_dialogue.h:29