aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kgraphics.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2009-10-31 19:48:28 +0000
committerMartin Kiewitz2009-10-31 19:48:28 +0000
commitb29fd4dacd54e672ffa52179dd02e0367ef14707 (patch)
tree3d78e54a7fb9d8a5689ce56f2c20cf7e88f24e18 /engines/sci/engine/kgraphics.cpp
parent6205c5f4de3c02148b2cf5251e1b34a522dfbf1c (diff)
downloadscummvm-rg350-b29fd4dacd54e672ffa52179dd02e0367ef14707.tar.gz
scummvm-rg350-b29fd4dacd54e672ffa52179dd02e0367ef14707.tar.bz2
scummvm-rg350-b29fd4dacd54e672ffa52179dd02e0367ef14707.zip
SCI/newgui: SciGuiPortrait created
svn-id: r45579
Diffstat (limited to 'engines/sci/engine/kgraphics.cpp')
-rw-r--r--engines/sci/engine/kgraphics.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index e3fc3ac947..414d6f160a 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -640,21 +640,19 @@ reg_t kPortrait(EngineState *s, int argc, reg_t *argv) {
uint16 operation = argv[0].toUint16();
switch (operation) {
- case 0: { // load resource (the corresponding .BIN file from the ACTORS directory)
+ case 0: { // load
if (argc == 2) {
Common::String resourceName = s->_segMan->getString(argv[1]);
-
- // TODO: implement this
-
+ return s->_gui->portraitLoad(resourceName);
} else {
warning("kPortrait(loadResource) called with unsupported argc %d", argc);
}
break;
}
- case 1: { // show portrait
+ case 1: { // show
if (argc == 10) {
Common::String resourceName = s->_segMan->getString(argv[1]);
- Common::Point portraitPos = Common::Point(argv[2].toUint16(), argv[3].toUint16());
+ Common::Point position = Common::Point(argv[2].toUint16(), argv[3].toUint16());
/*uint resourceNum = argv[4].toUint16() & 0xff;
uint noun = argv[5].toUint16() & 0xff;
uint verb = argv[6].toUint16() & 0xff;
@@ -662,20 +660,18 @@ reg_t kPortrait(EngineState *s, int argc, reg_t *argv) {
uint seq = argv[8].toUint16() & 0xff;*/
// argv[9] is usually 0??!!
+ s->_gui->portraitShow(resourceName, position, resourceNum, noun, verb, cond, seq);
+ return SIGNAL_REG;
// TODO: implement this. Looks to be a modified version of kDoSync
-
- warning("kPortrait(show) %s at %d, %d", resourceName.c_str(), portraitPos.x, portraitPos.y);
} else {
warning("kPortrait(show) called with unsupported argc %d", argc);
}
break;
}
- case 2: { // unload resource
+ case 2: { // unload
if (argc == 2) {
//uint16 portraitId = argv[1].toUint16();
-
- // TODO: implement this
-
+ s->_gui->portraitUnload(portraitId);
} else {
warning("kPortrait(unload) called with unsupported argc %d", argc);
}