ScummVM API documentation
puzzle.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 ZVISION_PUZZLE_H
23
#define ZVISION_PUZZLE_H
24
25
#include "common/list.h"
26
#include "common/ptr.h"
27
#include "zvision/scripting/actions.h"
28
29
namespace
ZVision
{
30
31
struct
Puzzle
{
32
Puzzle
() : key(0), addedBySetState(
false
) {}
33
34
~
Puzzle
() {
35
for
(
auto
& action : resultActions)
36
delete
action;
37
}
38
40
enum
CriteriaOperator
{
41
EQUAL_TO,
42
NOT_EQUAL_TO,
43
GREATER_THAN,
44
LESS_THAN
45
};
46
48
struct
CriteriaEntry
{
50
uint32
key
;
55
uint32
argument
;
57
CriteriaOperator
criteriaOperator
;
59
bool
argumentIsAKey
;
60
};
61
62
enum
StateFlags {
63
ONCE_PER_INST = 0x01,
64
DISABLED = 0x02,
65
DO_ME_NOW = 0x04
66
};
67
68
uint32
key
;
69
Common::List<Common::List <CriteriaEntry>
> criteriaList;
70
// This has to be list of pointers because ResultAction is abstract
71
Common::List<ResultAction *>
resultActions;
72
bool
addedBySetState;
73
};
74
75
}
// End of namespace ZVision
76
77
#endif
ZVision::Puzzle::CriteriaEntry::argumentIsAKey
bool argumentIsAKey
Definition:
puzzle.h:59
ZVision::Puzzle
Definition:
puzzle.h:31
Common::List
Definition:
list.h:44
ZVision
Definition:
focus_list.h:27
ZVision::Puzzle::CriteriaEntry::criteriaOperator
CriteriaOperator criteriaOperator
Definition:
puzzle.h:57
ZVision::Puzzle::CriteriaEntry::key
uint32 key
Definition:
puzzle.h:50
ZVision::Puzzle::CriteriaEntry::argument
uint32 argument
Definition:
puzzle.h:55
ZVision::Puzzle::CriteriaOperator
CriteriaOperator
Definition:
puzzle.h:40
ZVision::Puzzle::CriteriaEntry
Definition:
puzzle.h:48
engines
zvision
scripting
puzzle.h
Generated on Tue Oct 21 2025 09:11:10 for ScummVM API documentation by
1.8.13