aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/dialogue_menu.h
diff options
context:
space:
mode:
authorPeter Kohaut2017-08-24 23:43:47 +0200
committerPeter Kohaut2017-08-24 23:43:47 +0200
commit0da18320af79b6ca8a47248442d106674b5ab860 (patch)
tree504d769edcf92fc4cbceddfbcdda038ecc040ced /engines/bladerunner/dialogue_menu.h
parentc9b4089ccb0b60389446e07f7f9421e3a7180129 (diff)
downloadscummvm-rg350-0da18320af79b6ca8a47248442d106674b5ab860.tar.gz
scummvm-rg350-0da18320af79b6ca8a47248442d106674b5ab860.tar.bz2
scummvm-rg350-0da18320af79b6ca8a47248442d106674b5ab860.zip
BLADERUNNER: Added audio mixer & various fixes
Audio mixer is supporting fading and pan animation Added support for skipping speech by pressing Return Added proper support for ambient sounds Added more code to the dialogue menu Added tooltips to the Spinner Fixed calculation of volume and pan of walk steps Code cleanup & formatting
Diffstat (limited to 'engines/bladerunner/dialogue_menu.h')
-rw-r--r--engines/bladerunner/dialogue_menu.h31
1 files changed, 18 insertions, 13 deletions
diff --git a/engines/bladerunner/dialogue_menu.h b/engines/bladerunner/dialogue_menu.h
index 7a6b99e967..1ab90fdac0 100644
--- a/engines/bladerunner/dialogue_menu.h
+++ b/engines/bladerunner/dialogue_menu.h
@@ -26,7 +26,7 @@
#include "bladerunner/shape.h"
#include "common/array.h"
-
+#include "common/str.h"
#include "graphics/surface.h"
namespace BladeRunner {
@@ -35,13 +35,13 @@ class BladeRunnerEngine;
class TextResource;
struct DialogueItem {
- char text[50];
+ Common::String text;
int answerValue;
- int field_36;
- int field_3A;
- int field_3E;
- int field_42;
- int field_46;
+ int colorIntensity;
+ int priorityPolite;
+ int priorityNormal;
+ int prioritySurly;
+ int isDone;
};
class DialogueMenu {
@@ -67,6 +67,8 @@ class DialogueMenu {
int _maxItemWidth;
DialogueItem _items[10];
+ int _fadeInItemIndex;
+
public:
DialogueMenu(BladeRunnerEngine *vm);
~DialogueMenu();
@@ -74,23 +76,26 @@ public:
bool loadText(const char *name);
bool show();
- bool showAt(int x, int y);
bool hide();
+ bool addToList(int answer, bool done, int priorityPolite, int priorityNormal, int prioritySurly);
+ bool addToListNeverRepeatOnceSelected(int answer, int priorityPolite, int priorityNormal, int prioritySurly);
bool clearList();
- bool addToList(int answer, int a3, int a4, int a5, int a6);
- bool addToListNeverRepeatOnceSelected(int answer, int a3, int a4, int a5);
int queryInput();
int listSize();
bool isVisible();
bool isOpen();
void tick(int x, int y);
- void draw();
+ void draw(Graphics::Surface &s);
+
+ void mouseUp();
+ bool waitingForInput();
+
+private:
+ bool showAt(int x, int y);
int getAnswerIndex(int answer);
const char *getText(int id);
void calculatePosition(int unusedX = 0, int unusedY = 0);
- void mouseUp();
- bool waitingForInput();
void clear();
void reset();