aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v6.cpp
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-02-22 20:57:57 +0000
committerPaweł Kołodziejski2003-02-22 20:57:57 +0000
commit0706785d6d0c09251450c3e564fedb2cf1b9751b (patch)
tree1f58065467b14e51e1accf5d38e4f751e8ed1818 /scumm/script_v6.cpp
parentfc20efecfee58ad3113ad97ce8f3e17d763b8f67 (diff)
downloadscummvm-rg350-0706785d6d0c09251450c3e564fedb2cf1b9751b.tar.gz
scummvm-rg350-0706785d6d0c09251450c3e564fedb2cf1b9751b.tar.bz2
scummvm-rg350-0706785d6d0c09251450c3e564fedb2cf1b9751b.zip
improved o6_stampObject func
svn-id: r6635
Diffstat (limited to 'scumm/script_v6.cpp')
-rw-r--r--scumm/script_v6.cpp34
1 files changed, 25 insertions, 9 deletions
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 15ffc13e16..80b8daba30 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -2890,16 +2890,32 @@ void Scumm_v6::o6_pickOneOfDefault()
}
void Scumm_v6::o6_stampObject() {
- // Full Throttle: FIXME
- // Opcode is used when placing the bunny into the
- // mine field. Some kind of drawBlastObject() wrapper
- // also used at least once in the humongous games
- int object, x, y, image;
- object = pop();
- x = pop();
+ int object, x, y, state;
+
+ state = pop();
+ if (state == 0) {
+ state = 1;
+ }
y = pop();
- image = pop();
- warning("o6_stampObject: stub(%d at (%d,%d) image %d)", object, x, y, image);
+ x = pop();
+ object = pop();
+ if (object < 30) {
+ if (state == 0) {
+ state = 255;
+ }
+ warning("o6_stampObject: (%d at (%d,%d) scale %d)", object, x, y, state);
+ Actor *a = derefActor(object);
+ a->scalex = state;
+ a->scaley = state;
+ a->putActor(x, y, _currentRoom); // TODO
+// drawActor(object, maskBufferPtr, x_y, scale_x_y);
+// drawActor(object, mainBufferPtr, x_y, scale_x_y);
+ return;
+ }
+
+ warning("o6_stampObject: (%d at (%d,%d) state %d)", object, x, y, state);
+ setObjectState(object, state, x, y);
+ drawObject(getObjectIndex(object), 0);
}
void Scumm_v6::o6_stopTalking() {