aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlukaslw2014-07-02 02:38:39 +0200
committerlukaslw2014-07-02 02:38:39 +0200
commit355b7a3e3b041d5cfbb0bba2ada253456de7c167 (patch)
treec1bc33f6c9d23799b596347e6782a100aec4c394
parent8378d9287192390ad60a0a9bfff7fbdcab6c452b (diff)
downloadscummvm-rg350-355b7a3e3b041d5cfbb0bba2ada253456de7c167.tar.gz
scummvm-rg350-355b7a3e3b041d5cfbb0bba2ada253456de7c167.tar.bz2
scummvm-rg350-355b7a3e3b041d5cfbb0bba2ada253456de7c167.zip
PRINCE: O_TALKBACKANIM(), O_TALKANIM()
-rw-r--r--engines/prince/prince.cpp5
-rw-r--r--engines/prince/prince.h6
-rw-r--r--engines/prince/script.cpp11
3 files changed, 17 insertions, 5 deletions
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp
index 2d59f95a6b..6445113cd6 100644
--- a/engines/prince/prince.cpp
+++ b/engines/prince/prince.cpp
@@ -2357,6 +2357,11 @@ void PrinceEngine::talkHero(int slot, const char *s) {
_interpreter->increaseString();
}
+void PrinceEngine::doTalkAnim(int animNumber, int slot, AnimType animType) {
+ //TODO
+ _interpreter->increaseString();
+}
+
// Test
void PrinceEngine::testDialog() {
Common::Array<DialogLine> tempDialogBox;
diff --git a/engines/prince/prince.h b/engines/prince/prince.h
index e046d9caf2..54beda2e69 100644
--- a/engines/prince/prince.h
+++ b/engines/prince/prince.h
@@ -174,6 +174,11 @@ struct BackgroundAnim {
Common::Array<Anim> backAnims;
};
+enum AnimType {
+ kBackgroundAnimation,
+ kNormalAnimation
+};
+
// Nak (PL - Nakladka)
struct Mask {
int16 _state; // visible / invisible
@@ -404,6 +409,7 @@ public:
void createDialogBox(Common::Array<DialogLine> &dialogData);
void runDialog(Common::Array<DialogLine> &dialogData);
void talkHero(int slot, const char *s);
+ void doTalkAnim(int animNumber, int slot, AnimType animType);
void testDialog();
int testAnimNr;
diff --git a/engines/prince/script.cpp b/engines/prince/script.cpp
index 38179421c3..7f5a069556 100644
--- a/engines/prince/script.cpp
+++ b/engines/prince/script.cpp
@@ -843,10 +843,10 @@ void Interpreter::O_ADDFLAG() {
}
void Interpreter::O_TALKANIM() {
- uint16 animSlot = readScriptFlagValue();
+ uint16 animNumber = readScriptFlagValue();
uint16 slot = readScriptFlagValue();
-
- debugInterpreter("O_TALKANIM animSlot %d, slot %d", animSlot, slot);
+ _vm->doTalkAnim(animNumber, slot, kNormalAnimation);
+ debugInterpreter("O_TALKANIM animNumber %d, slot %d", animNumber, slot);
}
void Interpreter::O_SUBFLAG() {
@@ -1221,9 +1221,10 @@ void Interpreter::O_GETRND() {
}
void Interpreter::O_TALKBACKANIM() {
- uint16 animSlot = readScriptFlagValue();
+ uint16 animNumber = readScriptFlagValue();
uint16 slot = readScriptFlagValue();
- debugInterpreter("O_TALKBACKANIM animSlot %d, slot %d", animSlot, slot);
+ _vm->doTalkAnim(animNumber, slot, kBackgroundAnimation);
+ debugInterpreter("O_TALKBACKANIM animNumber %d, slot %d", animNumber, slot);
}
void Interpreter::O_LOADPATH() {