diff options
| author | Matthew Hoops | 2011-09-22 15:26:09 -0400 | 
|---|---|---|
| committer | Matthew Hoops | 2011-09-22 15:26:09 -0400 | 
| commit | c8752bb1d3fadc760c723c3f3b9db7a7f2ab225d (patch) | |
| tree | 2df8ad90c5c6f8478447594dd1e60ec7a42ca01d | |
| parent | 897c585f05b30d7431541f774383ace8f8f5201a (diff) | |
| download | scummvm-rg350-c8752bb1d3fadc760c723c3f3b9db7a7f2ab225d.tar.gz scummvm-rg350-c8752bb1d3fadc760c723c3f3b9db7a7f2ab225d.tar.bz2 scummvm-rg350-c8752bb1d3fadc760c723c3f3b9db7a7f2ab225d.zip  | |
PEGASUS: Implement Item::getDragSprite()
| -rwxr-xr-x | engines/pegasus/items/item.cpp | 20 | ||||
| -rwxr-xr-x | engines/pegasus/items/item.h | 5 | 
2 files changed, 23 insertions, 2 deletions
diff --git a/engines/pegasus/items/item.cpp b/engines/pegasus/items/item.cpp index 126bbfec63..e4f1b712d7 100755 --- a/engines/pegasus/items/item.cpp +++ b/engines/pegasus/items/item.cpp @@ -27,7 +27,9 @@  #include "common/stream.h"  #include "pegasus/constants.h" +#include "pegasus/elements.h"  #include "pegasus/pegasus.h" +#include "pegasus/surface.h"  #include "pegasus/items/item.h"  #include "pegasus/items/itemlist.h" @@ -266,4 +268,22 @@ ItemStateInfo Item::readItemState(Common::SeekableReadStream *stream) {  	return info;  } +Sprite *Item::getDragSprite(const tDisplayElementID id) const { +	PegasusEngine *vm = (PegasusEngine *)g_engine; +	Sprite *result = new Sprite(id); +	SpriteFrame *frame = new SpriteFrame(); + +	frame->initFromPICTResource(vm->_resFork, _itemInfo.dragSpriteNormalID); +	result->addFrame(frame, 0, 0); + +	if (_itemInfo.dragSpriteNormalID != _itemInfo.dragSpriteUsedID) { +		frame = new SpriteFrame(); +		frame->initFromPICTResource(vm->_resFork, _itemInfo.dragSpriteUsedID); +	} + +	result->addFrame(frame, 0, 0); +	result->setCurrentFrameIndex(0); +	return result; +} +  } // End of namespace Pegasus diff --git a/engines/pegasus/items/item.h b/engines/pegasus/items/item.h index f623df5a4b..1373913892 100755 --- a/engines/pegasus/items/item.h +++ b/engines/pegasus/items/item.h @@ -274,6 +274,8 @@ enum tItemType {  	kBiochipItemType  }; +class Sprite; +  /*  	Item is an object which can be picked up and carried around. @@ -313,8 +315,7 @@ public:  	void getInfoRightTimes(TimeValue&, TimeValue&) const;  	TimeValue getSharedAreaTime() const; -	//TODO -	//MMSprite*						GetDragSprite(const tDisplayElementID) const; +	Sprite *getDragSprite(const tDisplayElementID) const;  	/*  		select		--	called when this item becomes current. Also called when the inventory  | 
