1 /* GemRB - Infinity Engine Emulator
2 * Copyright (C) 2003 The GemRB Project
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24 #include "DialogMgr.h"
30 ieDword FirstTransitionIndex;
31 ieDword TransitionsCount;
38 ieStrRef AnswerStrRef;
39 ieStrRef JournalStrRef;
43 ieDword NextStateIndex;
52 class DLGImp
: public DialogMgr
{
58 ieDword TransitionsCount
;
59 ieDword TransitionsOffset
;
60 ieDword StateTriggersCount
;
61 ieDword StateTriggersOffset
;
62 ieDword TransitionTriggersCount
;
63 ieDword TransitionTriggersOffset
;
65 ieDword ActionsOffset
;
72 bool Open(DataStream
* stream
, bool autoFree
= true);
75 DialogState
* GetDialogState(Dialog
*d
, unsigned int index
);
76 DialogTransition
* GetTransition(unsigned int index
);
77 DialogString
* GetStateTrigger(unsigned int index
);
78 DialogString
* GetTransitionTrigger(unsigned int index
);
79 DialogString
* GetAction(unsigned int index
);
80 char** GetStrings(char* string
, unsigned int& count
);
81 DialogTransition
** GetTransitions(unsigned int firstIndex
,