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  void resetState() override { _state = DwayneRoomDialogueState(); }
65  void syncState(Common::Serializer &s) override {
66  syncDialogueBool(s, _state.pendingInitialConversation);
67  syncDialogueBool(s, _state.sheriffInDinerIntroPending);
68  syncDialogueBool(s, _state.sheriffInDinerIntroPlayed);
69  syncDialogueBool(s, _state.eventFollowupGate);
70  syncDialogueBool(s, _state.tvDeedReplyOverride);
71  syncDialogueBool(s, _state.presentedEvidenceReplyOverride);
72  syncDialogueBool(s, _state.discussedBoylesButton);
73  syncDialogueBool(s, _state.discussedKarinPurse);
74  syncDialogueBool(s, _state.pendingKarinAliveFollowup);
75  syncDialogueBool(s, _state.completedKarinAliveFollowup);
76  syncDialogueInt(s, _state.pendingKarinAliveFollowupDayIndex);
77  syncDialogueBool(s, _state.bringKarinToSheriffLinePlayed);
78  syncDialogueBool(s, _state.whaleyDisciplineFollowupShown);
79  syncDialogueBool(s, _state.noteCheckbookFollowupShown);
80  syncDialogueBool(s, _state.scratchedTuckerShown);
81  syncDialogueBool(s, _state.boltOfClothTakenShown);
82  syncDialogueBool(s, _state.barberPoleStolenShown);
83  syncDialogueBool(s, _state.dinerBurnedShown);
84  syncDialogueBool(s, _state.escapedJailShown);
85  syncDialogueBool(s, _state.gotRemainsForLodgeShown);
86  syncDialogueBool(s, _state.burnedTvStationShown);
87  syncDialogueBool(s, _state.karinKidnapedShown);
88  syncDialogueBool(s, _state.pendingKarinAliveFollowupLinePlayed);
89  syncDialogueBool(s, _state.karinFoundDeadWithoutPurseShown);
90  syncDialogueBool(s, _state.jimmyAbsentShown);
91  syncDialogueBool(s, _state.moynahanAbsentShown);
92  syncDialogueBool(s, _state.ednaHungShown);
93  syncDialogueBool(s, _state.mcknightAbsentShown);
94  syncDialogueString(s, _state.currentTopicBuffer);
95  syncDialogueInt(s, _state.currentTopicBufferLineIndex);
96  }
97  Common::Error handleDialogue(DialogueRuntime &runtime,
98  const Common::String &usedItemName, DialogueSharedState &sharedState) override;
99 
100 private:
102 };
103 
104 } // End of namespace Harvester
105 
106 #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