22#ifndef HARVESTER_DIALOGUE_SESSION_H
23#define HARVESTER_DIALOGUE_SESSION_H
25#include "common/ptr.h"
26#include "common/rect.h"
27#include "harvester/bitmap.h"
28#include "harvester/cft_font.h"
29#include "harvester/npc/dialogue_runtime.h"
57 const IndexedBitmap &backdrop,
const byte *palette,
float paletteBrightness,
62 int headVariant)
override;
71 Common::Error runResponseMenu(
int responseLineIndex,
int &selectedIndex)
override;
74 void assignTopicBuffer(
Common::String &topicBuffer,
int &topicBufferLineIndex,
75 int responseLineIndex,
const char *)
override;
76 bool matchesResponseLine(
const Common::String &selectedTopic,
int responseLineIndex)
override;
78 const int *responseLineIndices, uint responseLineCount)
override;
79 void queueDialogueInteractionIfNeeded(
const InteractionResult &interaction)
override;
80 void applyImmediateDialogueInteractionEffects(
InteractionResult &interaction)
override;
81 int getRandomNumber(
int maxValue)
override;
82 void setActiveSpeakerPortrait(
const Common::String &speakerId,
int headVariant)
override;
91 int x,
int y,
int width,
byte color);
92 void ensureSpeakerPortrait(
const Common::String &speakerId,
int headVariant);
95 int hoveredTopicIndex,
bool hoverOther,
const Common::String *textEntryValue,
96 bool textEntryCursorVisible =
false);
106 void drawDialogueResponseMenu(
const IndexedBitmap *textboxBitmap,
116 const byte *_palette;
117 const float _paletteBrightness;
129 bool _subtitleFontUsesCft;
130 bool _menuFontUsesCft;
131 bool _highlightFontUsesCft;
138 bool _leftHeadVisible;
139 bool _rightHeadVisible;
Definition: dialogue_runtime.h:30
Definition: harvester.h:47
Definition: resources.h:32
Definition: dialogue_session.h:46
Definition: algorithm.h:29
Definition: formatinfo.h:28
Definition: dialogue_runtime.h:14
Definition: dialogue_session.h:48
Definition: atari-screen.h:58