ScummVM API documentation
dialog.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 TEENAGENT_DIALOG_H
23 #define TEENAGENT_DIALOG_H
24 
25 #include "common/endian.h"
26 #include "common/str.h"
27 
28 namespace TeenAgent {
29 
30 // Text Color Symbols
31 enum {
32  textColorJohnNoty = 0xd0,
33  textColorCampGuard = 0xd0,
34  textColorShockedCaptain = 0xd0,
35  textColorMark = 0xd1,
36  textColorCredits = 0xd1,
37  textColorBankGuard = 0xd7,
38  textColorGrandpa = 0xd8,
39  textColorMansionGuard = 0xd9,
40  textColorMarkEnd = 0xe3,
41  textColorProfessor = 0xe5,
42  textColorOldLady = 0xe5,
43  textColorAnne = 0xe5,
44  textColorWellEcho = 0xe5,
45  textColorSonny = 0xe5,
46  textColorEskimo = 0xe5,
47  textColorRGBBoss = 0xe7,
48  textColorGoldDriver = 0xe7,
49  textColorFortuneTeller = 0xeb,
50  textColorCaptain = 0xec,
51  textColorMike = 0xef,
52  textColorCook = 0xef,
53  textColorBarman = 0xef
54 };
55 
56 class Scene;
57 class TeenAgentEngine;
58 
59 class Dialog {
60 public:
61  Dialog(TeenAgentEngine *vm) : _vm(vm) { }
62 
63  uint16 pop(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
64 
65  uint16 popMark(Scene *scene, uint16 addr) {
66  return pop(scene, addr, 0, 0, textColorMark, textColorMark, 0, 0);
67  }
68 
69  void show(uint16 dialogNum, Scene *scene, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
70 
71  void showMono(uint16 dialogNum, Scene *scene, uint16 animation, byte color, byte slot) {
72  show(dialogNum, scene, animation, animation, color, color, slot, slot);
73  }
74 
75  void showMark(uint16 dialogNum, Scene *scene) {
76  show(dialogNum, scene, 0, 0, textColorMark, textColorMark, 0, 0);
77  }
78 
79 private:
80  TeenAgentEngine *_vm;
81 
82  void show(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
83 };
84 
85 } // End of namespace TeenAgent
86 
87 #endif
Definition: teenagent.h:83
Definition: scene.h:126
Definition: actor.h:29
Definition: dialog.h:59