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
(
Common::List<ResultAction *>::iterator
iter = resultActions.begin(); iter != resultActions.end(); ++iter) {
36
delete
*iter;
37
}
38
}
39
41
enum
CriteriaOperator
{
42
EQUAL_TO,
43
NOT_EQUAL_TO,
44
GREATER_THAN,
45
LESS_THAN
46
};
47
49
struct
CriteriaEntry
{
51
uint32
key
;
56
uint32
argument
;
58
CriteriaOperator
criteriaOperator
;
60
bool
argumentIsAKey
;
61
};
62
63
enum
StateFlags {
64
ONCE_PER_INST = 0x01,
65
DISABLED = 0x02,
66
DO_ME_NOW = 0x04
67
};
68
69
uint32
key
;
70
Common::List<Common::List <CriteriaEntry>
> criteriaList;
71
// This has to be list of pointers because ResultAction is abstract
72
Common::List<ResultAction *>
resultActions;
73
bool
addedBySetState;
74
};
75
76
}
// End of namespace ZVision
77
78
#endif
ZVision::Puzzle::CriteriaEntry::argumentIsAKey
bool argumentIsAKey
Definition:
puzzle.h:60
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:58
ZVision::Puzzle::CriteriaEntry::key
uint32 key
Definition:
puzzle.h:51
ZVision::Puzzle::CriteriaEntry::argument
uint32 argument
Definition:
puzzle.h:56
ZVision::Puzzle::CriteriaOperator
CriteriaOperator
Definition:
puzzle.h:41
Common::ListInternal::Iterator
Definition:
list_intern.h:54
ZVision::Puzzle::CriteriaEntry
Definition:
puzzle.h:49
engines
zvision
scripting
puzzle.h
Generated on Wed Sep 3 2025 09:07:51 for ScummVM API documentation by
1.8.13