ScummVM API documentation
3mice2_states.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 QDENGINE_MINIGAMES_3MICE2_STATES_H
23 #define QDENGINE_MINIGAMES_3MICE2_STATES_H
24 
25 #include "common/debug.h"
26 
27 #include "qdengine/qd_fwd.h"
28 #include "qdengine/qdcore/qd_minigame_interface.h"
29 
30 namespace QDEngine {
31 
33 public:
36 
37 #define MASK1 "\xec\xe0\xf1\xea\xe0\x31" // "маска1"
38 #define MASK2 "\xec\xe0\xf1\xea\xe0\x32" // "маска2"
39 #define MASK3 "\xec\xe0\xf1\xea\xe0\x33" // "маска3"
40 #define MASK4 "\xec\xe0\xf1\xea\xe0\x34" // "маска4"
41 #define MAIN "\xee\xf1\xed\xee\xe2\xed\xee\xe9" // "основной"
42 #define SET1 "\xed\xe0\xe1\xee\xf0\x31" // "набор1"
43 #define SET2 "\xed\xe0\xe1\xee\xf0\x32" // "набор2"
44 #define SET3 "\xed\xe0\xe1\xee\xf0\x33" // "набор3
45 #define SET4 "\xed\xe0\xe1\xee\xf0\x34" // "набор4"
46 #define SET5 "\xed\xe0\xe1\xee\xf0\x35" // "набор5"
47 #define SET6 "\xed\xe0\xe1\xee\xf0\x36" // "набор6"
48 #define SET7 "\xed\xe0\xe1\xee\xf0\x37" // "набор7"
49 #define SET8 "\xed\xe0\xe1\xee\xf0\x38" // "набор8"
50 #define BG_MASK "\xd4\xee\xed\x20\x2d\x20\xec\xe0\xf1\xea\xe0" // "Фон - маска"
51 #define BG_MASK1 "\xd4\xee\xed\x20\x2d\x20\xec\xe0\xf1\xea\xe0\x31" // "Фон - маска1"
52 #define BG_MASK2 "\xd4\xee\xed\x20\x2d\x20\xec\xe0\xf1\xea\xe0\x32" // "Фон - маска2"
53 #define BG_FRONT_LEFT "\xf4\xee\xed front \xeb\xe5\xe2\xee" // "фон front лево"
54 #define BG_FRONT_RIGHT "\xf4\xee\xed front \xef\xf0\xe0\xe2\xee" // "фон front право"
55 
56 
57  bool init(const qdEngineInterface *engine_interface) {
58  debugC(1, kDebugMinigames, "3mice2States::init()");
59 
60  _engine = engine_interface;
61  _scene = engine_interface->current_scene_interface();
62  if (!_scene)
63  return false;
64 
65  _objScene = _scene->object_interface("$\xF1\xF6\xE5\xED\xE0"); // "$сцена"
66  _objSelectedSet = _scene->object_interface("$select_nabor");
67 
68  _objects[1] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEF\xF0\xE0\xE2\xFB\xE9 \xEE\xF2\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик правый открыт"
69  _objects[2] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEF\xF0\xE0\xE2\xFB\xE9 \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик правый закрыт"
70  _objects[3] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEF\xF0\xE0\xE2\xFB\xE9 \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик правый открыт"
71  _objects[4] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEB\xE5\xE2\xFB\xE9 \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик левый открыт"
72  _objects[5] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEB\xE5\xE2\xFB\xE9 \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик левый закрыт"
73  _objects[6] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEB\xE5\xE2\xFB\xE9 \xEE\xF2\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик левый открыт"
74  _objects[7] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xEB\xE5\xE2\xEE \xF1\xEA\xE0\xEB\xEA\xE0"); // "накладка front лево скалка"
75  _objects[8] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xEB\xE5\xE2\xEE \xEF\xE0\xEB\xEE\xF7\xEA\xE8"); // "накладка front лево палочки"
76  _objects[9] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xE3\xE8\xF0\xE8 \xE2 \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xEE\xEC \xFF\xF9\xE8\xEA\xE5"); // "_МАСКА front гири в центральном ящике"
77  _objects[10] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xF1\xEE\xEB\xFC"); // "накладка front соль"
78  _objects[11] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xE3\xE8\xF0\xE8"); // "накладка front гири"
79  _objects[12] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xFB\xE9"); // "_МАСКА front ящик центральный"
80  _objects[13] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик открыт"
81  _objects[14] = _scene->object_interface(BG_FRONT_RIGHT);
82  _objects[15] = _scene->object_interface(BG_FRONT_LEFT);
83  _objects[16] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEF\xF0\xE0\xE2\xEE \xEA front"); // "_МАСКА front право к front"
84  _objects[17] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEB\xE5\xE2\xEE \xEA front"); // "_МАСКА front лево к front"
85  _objects[18] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА front к front право"
86  _objects[19] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEB\xE5\xE2\xEE"); // "_МАСКА front к front лево"
87  _objects[20] = _scene->object_interface("\xF4\xEE\xED front"); // "фон front"
88  _objects[21] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF6\xE5\xED\xF2\xF0"); // "_МАСКА front центр"
89  _objects[22] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xE3\xE8\xF0\xE8"); // "накладка front гири"
90  _objects[23] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xF1\xEE\xEB\xFC"); // "накладка front соль"
91  _objects[24] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xE3\xE8\xF0\xE8 \xE2 \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xEE\xEC \xFF\xF9\xE8\xEA\xE5"); // "_МАСКА front гири в центральном ящике"
92  _objects[25] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEB\xE5\xE2\xFB\xE9 \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик левый закрыт"
93  _objects[26] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xFB\xE9"); // "_МАСКА front ящик центральный"
94  _objects[27] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик открыт"
95  _objects[28] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА front к front право"
96  _objects[29] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEB\xE5\xE2\xEE"); // "_МАСКА front к front лево"
97  _objects[30] = _scene->object_interface("\xF4\xEE\xED front"); // "фон front"
98  _objects[31] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEB\xE5\xE2\xEE \xEA front"); // "_МАСКА front лево к front"
99  _objects[32] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF6\xE5\xED\xF2\xF0"); // "_МАСКА front центр"
100  _objects[33] = _scene->object_interface(BG_FRONT_LEFT);
101  _objects[34] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xE3\xE8\xF0\xE8"); // "накладка front гири"
102  _objects[35] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xF1\xEE\xEB\xFC"); // "накладка front соль"
103  _objects[36] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xE3\xE8\xF0\xE8 \xE2 \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xEE\xEC \xFF\xF9\xE8\xEA\xE5"); // "_МАСКА front гири в центральном ящике"
104  _objects[37] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEF\xF0\xE0\xE2\xFB\xE9 \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик правый закрыт"
105  _objects[38] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xFB\xE9"); // "_МАСКА front ящик центральный"
106  _objects[39] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик открыт"
107  _objects[40] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА front к front право"
108  _objects[41] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEB\xE5\xE2\xEE"); // "_МАСКА front к front лево"
109  _objects[42] = _scene->object_interface("\xF4\xEE\xED front"); // "фон front"
110  _objects[43] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEF\xF0\xE0\xE2\xEE \xEA front"); // "_МАСКА front право к front"
111  _objects[44] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF6\xE5\xED\xF2\xF0"); // "_МАСКА front центр"
112  _objects[45] = _scene->object_interface(BG_FRONT_RIGHT);
113  _objects[46] = _scene->object_interface("\xEA\xEE\xEC\xEE\xE4 \xEB\xE5\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "комод левый ящик открыт"
114  _objects[47] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEB\xE5\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА center левый ящик закрыт"
115  _objects[48] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEB\xE5\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2 \xEB\xE5\xE2\xEE"); // "_МАСКА center левый ящик открыт лево"
116  _objects[49] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEB\xE5\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2 \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА center левый ящик открыт право"
117  _objects[50] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xFF\xE9\xF6\xE0"); // "накладка center яйца"
118  _objects[51] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xE7\xE5\xEB\xE5\xED\xFB\xE9 \xEF\xE0\xEA\xE5\xF2"); // "накладка center зеленый пакет"
119  _objects[52] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xEC\xE0\xF1\xEB\xEE"); // "накладка center масло"
120  _objects[53] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xEC\xEE\xEB\xEE\xEA\xEE"); // "накладка center молоко"
121  _objects[54] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xE2\xE5\xF1\xFB"); // "накладка center весы"
122  _objects[55] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xEC\xF3\xEA\xE0"); // "накладка center мука"
123  _objects[56] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xEA\xED\xE8\xE3\xE0 \xF1 \xF0\xE5\xF6\xE5\xEF\xF2\xE0\xEC\xE8"); // "накладка center книга с рецептами"
124  _objects[57] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xE2\xE5\xF1\xFB"); // "_МАСКА center весы"
125  _objects[58] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEA\xED\xE8\xE3\xE0 \xF1 \xF0\xE5\xF6\xE5\xEF\xF2\xE0\xEC\xE8"); // "_МАСКА center книга с рецептами"
126  _objects[59] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEF\xF0\xE0\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА center правый ящик закрыт"
127  _objects[60] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEF\xF0\xE0\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2 \xEB\xE5\xE2\xEE"); // "_МАСКА center правый ящик открыт лево"
128  _objects[61] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEF\xF0\xE0\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2 \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА center правый ящик открыт право"
129  _objects[62] = _scene->object_interface("\xEA\xEE\xEC\xEE\xE4 \xEF\xF0\xE0\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "комод правый ящик открыт"
130  _objects[63] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEB\xE5\xE2\xEE"); // "_МАСКА center лево"
131  _objects[64] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА center право"
132  _objects[65] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xF4\xF0\xEE\xED\xF2"); // "_МАСКА center фронт"
133  _objects[66] = _scene->object_interface("\xF4\xEE\xED center"); // "фон center"
134  _objects[67] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEB\xE5\xE2\xFB\xE9 \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик левый закрыт"
135  _objects[68] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEF\xF0\xE0\xE2\xFB\xE9 \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик правый закрыт"
136  _objects[69] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEF\xF0\xE0\xE2\xFB\xE9 \xEE\xF2\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик правый открыт"
137  _objects[70] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEB\xE5\xE2\xFB\xE9 \xEE\xF2\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик левый открыт"
138  _objects[71] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xEB\xE5\xE2\xEE \xEF\xE0\xEB\xEE\xF7\xEA\xE8"); // "накладка front лево палочки"
139  _objects[72] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xEB\xE5\xE2\xEE \xF1\xEA\xE0\xEB\xEA\xE0"); // "накладка front лево скалка"
140  _objects[73] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEF\xF0\xE0\xE2\xFB\xE9 \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик правый открыт"
141  _objects[74] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEB\xE5\xE2\xFB\xE9 \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик левый открыт"
142  _objects[75] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF1\xEE\xEB\xFC"); // "_МАСКА front соль"
143  _objects[76] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xF1\xEE\xEB\xFC"); // "накладка front соль"
144  _objects[77] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xFB\xE9"); // "_МАСКА front ящик центральный"
145  _objects[78] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик открыт"
146  _objects[79] = _scene->object_interface(BG_FRONT_RIGHT);
147  _objects[80] = _scene->object_interface(BG_FRONT_LEFT);
148  _objects[81] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEF\xF0\xE0\xE2\xEE \xEA front"); // "_МАСКА front право к front"
149  _objects[82] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEB\xE5\xE2\xEE \xEA front"); // "_МАСКА front лево к front"
150  _objects[83] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА front к front право"
151  _objects[84] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEB\xE5\xE2\xEE"); // "_МАСКА front к front лево"
152  _objects[85] = _scene->object_interface("\xF4\xEE\xED front"); // "фон front"
153  _objects[86] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF6\xE5\xED\xF2\xF0"); // "_МАСКА front центр"
154  _objects[87] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEB\xE5\xE2\xFB\xE9 \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик левый закрыт"
155  _objects[88] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xF1\xEE\xEB\xFC"); // "накладка front соль"
156  _objects[89] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF1\xEE\xEB\xFC"); // "_МАСКА front соль"
157  _objects[90] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xFB\xE9"); // "_МАСКА front ящик центральный"
158  _objects[91] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик открыт"
159  _objects[92] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА front к front право"
160  _objects[93] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEB\xE5\xE2\xEE"); // "_МАСКА front к front лево"
161  _objects[94] = _scene->object_interface("\xF4\xEE\xED front"); // "фон front"
162  _objects[95] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEB\xE5\xE2\xEE \xEA front"); // "_МАСКА front лево к front"
163  _objects[96] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF6\xE5\xED\xF2\xF0"); // "_МАСКА front центр"
164  _objects[97] = _scene->object_interface(BG_FRONT_LEFT);
165  _objects[98] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xEF\xF0\xE0\xE2\xFB\xE9 \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА front ящик правый закрыт"
166  _objects[99] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xF1\xEE\xEB\xFC"); // "накладка front соль"
167  _objects[100] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF1\xEE\xEB\xFC"); // "_МАСКА front соль"
168  _objects[101] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xFF\xF9\xE8\xEA \xF6\xE5\xED\xF2\xF0\xE0\xEB\xFC\xED\xFB\xE9"); // "_МАСКА front ящик центральный"
169  _objects[102] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 front \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "накладка front ящик открыт"
170  _objects[103] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА front к front право"
171  _objects[104] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEA front \xEB\xE5\xE2\xEE"); // "_МАСКА front к front лево"
172  _objects[105] = _scene->object_interface("\xF4\xEE\xED front"); // "фон front"
173  _objects[106] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xEF\xF0\xE0\xE2\xEE \xEA front"); // "_МАСКА front право к front"
174  _objects[107] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 front \xF6\xE5\xED\xF2\xF0"); // "_МАСКА front центр"
175  _objects[108] = _scene->object_interface(BG_FRONT_RIGHT);
176  _objects[109] = _scene->object_interface("\xEA\xEE\xEC\xEE\xE4 \xEB\xE5\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "комод левый ящик открыт"
177  _objects[110] = _scene->object_interface("\xEA\xEE\xEC\xEE\xE4 \xEF\xF0\xE0\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2"); // "комод правый ящик открыт"
178  _objects[111] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xE7\xE5\xEB\xE5\xED\xFB\xE9 \xEF\xE0\xEA\xE5\xF2"); // "накладка center зеленый пакет"
179  _objects[112] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xEC\xE0\xF1\xEB\xEE"); // "накладка center масло"
180  _objects[113] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xEC\xEE\xEB\xEE\xEA\xEE"); // "накладка center молоко"
181  _objects[114] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xEC\xF3\xEA\xE0"); // "накладка center мука"
182  _objects[115] = _scene->object_interface("\xED\xE0\xEA\xEB\xE0\xE4\xEA\xE0 center \xFF\xE9\xF6\xE0"); // "накладка center яйца"
183  _objects[116] = _scene->object_interface("\xF4\xEE\xED center"); // "фон center"
184  _objects[117] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xF4\xF0\xEE\xED\xF2"); // "_МАСКА center фронт"
185  _objects[118] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА center право"
186  _objects[119] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEF\xF0\xE0\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА center правый ящик закрыт"
187  _objects[120] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEB\xE5\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xE7\xE0\xEA\xF0\xFB\xF2"); // "_МАСКА center левый ящик закрыт"
188  _objects[121] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEB\xE5\xE2\xEE"); // "_МАСКА center лево"
189  _objects[122] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEB\xE5\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2 \xEB\xE5\xE2\xEE"); // "_МАСКА center левый ящик открыт лево"
190  _objects[123] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEB\xE5\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2 \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА center левый ящик открыт право"
191  _objects[124] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEF\xF0\xE0\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2 \xEB\xE5\xE2\xEE"); // "_МАСКА center правый ящик открыт лево"
192  _objects[125] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEF\xF0\xE0\xE2\xFB\xE9 \xFF\xF9\xE8\xEA \xEE\xF2\xEA\xF0\xFB\xF2 \xEF\xF0\xE0\xE2\xEE"); // "_МАСКА center правый ящик открыт право"
193  _objects[126] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xE7\xE5\xEB\xE5\xED\xFB\xE9 \xEF\xE0\xEA\xE5\xF2"); // "_МАСКА center зеленый пакет"
194  _objects[127] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEC\xE0\xF1\xEB\xEE"); // "_МАСКА center масло"
195  _objects[128] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEC\xEE\xEB\xEE\xEA\xEE"); // "_МАСКА center молоко"
196  _objects[129] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xEC\xF3\xEA\xE0"); // "_МАСКА center мука"
197  _objects[130] = _scene->object_interface("_\xCC\xC0\xD1\xCA\xC0 center \xFF\xE9\xF6\xE0"); // "_МАСКА center яйца"
198 
199  return true;
200  }
201 
202  bool quant(float dt) {
203  debugC(3, kDebugMinigames, "3mice2States::quant(%f)", dt);
204 
205  _engine->set_interface_text(MAIN, "text", "START");
206 
207  if (!_objSelectedSet->is_state_active("none")) {
208  if (_objSelectedSet->is_state_active(SET1)) {
209  _engine->set_interface_text(MAIN, "text", SET1);
210  _objects[1]->set_state(MASK2);
211  _objects[2]->set_state(MASK1);
212  _objects[3]->set_state(MASK3);
213  _objects[4]->set_state(MASK2);
214  _objects[5]->set_state(MASK1);
215  _objects[6]->set_state(MASK2);
216  _objects[7]->set_state(MASK2);
217  _objects[8]->set_state(MASK2);
218  _objects[9]->set_state(MASK2);
219  _objects[10]->set_state(MASK2);
220  _objects[11]->set_state(MASK2);
221  _objects[12]->set_state(MASK1);
222  _objects[13]->set_state(MASK1);
223  _objects[14]->set_state(MASK2);
224  _objects[15]->set_state(MASK2);
225  _objects[16]->set_state(MASK2);
226  _objects[17]->set_state(MASK2);
227  _objects[18]->set_state(MASK1);
228  _objects[19]->set_state(MASK1);
229  _objects[20]->set_state(MASK1);
230  _objects[21]->set_state(MASK1);
231  } else if (_objSelectedSet->is_state_active(SET2)) {
232  _engine->set_interface_text(MAIN, "text", SET2);
233  _objects[22]->set_state(MASK3);
234  _objects[23]->set_state(MASK3);
235  _objects[24]->set_state(MASK3);
236  _objects[25]->set_state(BG_MASK);
237  _objects[26]->set_state(MASK2);
238  _objects[27]->set_state(MASK3);
239  _objects[28]->set_state(MASK2);
240  _objects[29]->set_state(MASK2);
241  _objects[30]->set_state(MASK2);
242  _objects[31]->set_state(BG_MASK);
243  _objects[32]->set_state(BG_MASK1);
244  _objects[33]->set_state(BG_FRONT_LEFT);
245  } else if (_objSelectedSet->is_state_active(SET3)) {
246  _engine->set_interface_text(MAIN, "text", SET3);
247  _objects[34]->set_state(MASK4);
248  _objects[35]->set_state(MASK4);
249  _objects[36]->set_state(MASK4);
250  _objects[37]->set_state(BG_MASK);
251  _objects[38]->set_state(MASK3);
252  _objects[39]->set_state(MASK4);
253  _objects[40]->set_state(MASK3);
254  _objects[41]->set_state(MASK3);
255  _objects[42]->set_state(MASK3);
256  _objects[43]->set_state(BG_MASK);
257  _objects[44]->set_state(BG_MASK2);
258  _objects[45]->set_state(BG_FRONT_RIGHT);
259  } else if (_objSelectedSet->is_state_active(SET4)) {
260  _engine->set_interface_text(MAIN, "text", SET4);
261  _objects[46]->set_state(MASK2);
262  _objects[47]->set_state(MASK1);
263  _objects[48]->set_state(MASK2);
264  _objects[49]->set_state(MASK2);
265  _objects[50]->set_state(MASK2);
266  _objects[51]->set_state(MASK2);
267  _objects[52]->set_state(MASK2);
268  _objects[53]->set_state(MASK2);
269  _objects[54]->set_state(MASK2);
270  _objects[55]->set_state(MASK2);
271  _objects[56]->set_state(MASK1);
272  _objects[57]->set_state(MASK2);
273  _objects[58]->set_state(MASK2);
274  _objects[59]->set_state(MASK1);
275  _objects[60]->set_state(MASK2);
276  _objects[61]->set_state(MASK2);
277  _objects[62]->set_state(MASK2);
278  _objects[63]->set_state(MASK1);
279  _objects[64]->set_state(MASK1);
280  _objects[65]->set_state(MASK1);
281  _objects[66]->set_state(MASK1);
282  } else if (_objSelectedSet->is_state_active(SET5)) {
283  _engine->set_interface_text(MAIN, "text", SET5);
284  _objects[67]->set_state(MASK3);
285  _objects[68]->set_state(MASK3);
286  _objects[69]->set_state(MASK3);
287  _objects[70]->set_state(MASK3);
288  _objects[71]->set_state(MASK3);
289  _objects[72]->set_state(MASK3);
290  _objects[73]->set_state(MASK3);
291  _objects[74]->set_state(MASK3);
292  _objects[75]->set_state(MASK2);
293  _objects[76]->set_state(MASK2);
294  _objects[77]->set_state(MASK2);
295  _objects[78]->set_state(MASK1);
296  _objects[79]->set_state(MASK2);
297  _objects[80]->set_state(MASK2);
298  _objects[81]->set_state(MASK2);
299  _objects[82]->set_state(MASK2);
300  _objects[83]->set_state(MASK1);
301  _objects[84]->set_state(MASK1);
302  _objects[85]->set_state(MASK1);
303  _objects[86]->set_state(MASK1);
304  } else if (_objSelectedSet->is_state_active(SET6)) {
305  _engine->set_interface_text(MAIN, "text", SET6);
306  _objects[87]->set_state(BG_MASK);
307  _objects[88]->set_state(MASK3);
308  _objects[89]->set_state(MASK3);
309  _objects[90]->set_state(MASK1);
310  _objects[91]->set_state(MASK3);
311  _objects[92]->set_state(MASK2);
312  _objects[93]->set_state(MASK2);
313  _objects[94]->set_state(MASK2);
314  _objects[95]->set_state(BG_MASK);
315  _objects[96]->set_state(BG_MASK1);
316  _objects[97]->set_state(BG_FRONT_LEFT);
317  } else if (_objSelectedSet->is_state_active(SET7)) {
318  _engine->set_interface_text(MAIN, "text", SET7);
319  _objects[98]->set_state(BG_MASK);
320  _objects[99]->set_state(MASK4);
321  _objects[100]->set_state(MASK4);
322  _objects[101]->set_state(MASK3);
323  _objects[102]->set_state(MASK4);
324  _objects[103]->set_state(MASK3);
325  _objects[104]->set_state(MASK3);
326  _objects[105]->set_state(MASK3);
327  _objects[106]->set_state(BG_MASK);
328  _objects[107]->set_state(BG_MASK2);
329  _objects[108]->set_state(BG_FRONT_RIGHT);
330  } else if (_objSelectedSet->is_state_active(SET8)) {
331  _objects[109]->set_state(MASK2);
332  _objects[110]->set_state(MASK1);
333  _objects[111]->set_state(MASK1);
334  _objects[112]->set_state(MASK1);
335  _objects[113]->set_state(MASK1);
336  _objects[114]->set_state(MASK1);
337  _objects[115]->set_state(MASK1);
338  _objects[116]->set_state(MASK1);
339  _objects[117]->set_state(MASK1);
340  _objects[118]->set_state(MASK1);
341  _objects[119]->set_state(MASK2);
342  _objects[120]->set_state(MASK2);
343  _objects[121]->set_state(MASK1);
344  _objects[122]->set_state(MASK1);
345  _objects[123]->set_state(MASK1);
346  _objects[124]->set_state(MASK1);
347  _objects[125]->set_state(MASK1);
348  _objects[126]->set_state(MASK1);
349  _objects[127]->set_state(MASK1);
350  _objects[128]->set_state(MASK1);
351  _objects[129]->set_state(MASK1);
352  _objects[130]->set_state(MASK1);
353  }
354 
355  _objSelectedSet->set_state("none");
356  }
357 
358  return true;
359  }
360 
361  bool finit() {
362  debugC(1, kDebugMinigames, "3mice2States::finit()");
363 
364  if (_scene) {
365  _engine->release_scene_interface(_scene);
366  _scene = 0;
367  }
368 
369  return true;
370  }
371 
372  bool new_game(const qdEngineInterface *engine_interface) {
373  return true;
374  }
375 
376  int save_game(const qdEngineInterface *engine_interface, const qdMinigameSceneInterface *scene_interface, char *buffer, int buffer_size) {
377  return 0;
378  }
379 
380  int load_game(const qdEngineInterface *engine_interface, const qdMinigameSceneInterface *scene_interface, const char *buffer, int buffer_size) {
381  return 0;
382  }
383 
384  enum { INTERFACE_VERSION = 112 };
385  int version() const {
386  return INTERFACE_VERSION;
387  }
388 
389 private:
390  const qdEngineInterface *_engine = nullptr;
391  qdMinigameSceneInterface *_scene = nullptr;
392 
393  qdMinigameObjectInterface *_objScene = nullptr;
394  qdMinigameObjectInterface *_objSelectedSet = nullptr;
395 
396  qdMinigameObjectInterface *_objects[131] = { nullptr };
397 };
398 
399 } // namespace QDEngine
400 
401 #endif // QDENGINE_MINIGAMES_3MICE2_STATES_H
int save_game(const qdEngineInterface *engine_interface, const qdMinigameSceneInterface *scene_interface, char *buffer, int buffer_size)
Сохранение данных, вызывается при сохранении сцены, на которую повешена миниигра. ...
Definition: 3mice2_states.h:376
bool finit()
Деинициализация игры.
Definition: 3mice2_states.h:361
int load_game(const qdEngineInterface *engine_interface, const qdMinigameSceneInterface *scene_interface, const char *buffer, int buffer_size)
Загрузка данных, вызывается при загрузке сцены, на которую повешена миниигра.
Definition: 3mice2_states.h:380
Definition: qd_minigame_interface.h:78
Definition: qd_minigame_interface.h:365
virtual bool set_interface_text(const char *screen_name, const char *control_name, const char *text) const =0
virtual bool is_state_active(const char *state_name) const =0
Возвращает true, если состояние с именем state_name включено в данный момент.
Базовый класс для игровых ресурсов.
Definition: console.h:28
bool quant(float dt)
Обсчёт логики игры, параметр - время, которое должно пройти в игре (в секундах).
Definition: 3mice2_states.h:202
Интерфейс к динамическому объекту.
Definition: qd_minigame_interface.h:230
Интерфейс к сцене.
Definition: qd_minigame_interface.h:315
virtual bool set_state(const char *state_name)=0
Включает состояние с именем state_name.
Definition: 3mice2_states.h:32
virtual qdMinigameObjectInterface * object_interface(const char *object_name)=0
Создаёт интерфейс к объекту с именем object_name.
bool new_game(const qdEngineInterface *engine_interface)
Инициализация миниигры, вызывается при старте и перезапуске игры.
Definition: 3mice2_states.h:372
bool init(const qdEngineInterface *engine_interface)
Инициализация игры.
Definition: 3mice2_states.h:57
void void void void void debugC(int level, uint32 debugChannels, MSVC_PRINTF const char *s,...) GCC_PRINTF(3