diff options
| -rw-r--r-- | engines/prince/prince.cpp | 23 | ||||
| -rw-r--r-- | engines/prince/prince.h | 6 | 
2 files changed, 28 insertions, 1 deletions
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp index c7c5a8fbcf..1a09e83c65 100644 --- a/engines/prince/prince.cpp +++ b/engines/prince/prince.cpp @@ -81,7 +81,8 @@ PrinceEngine::PrinceEngine(OSystem *syst, const PrinceGameDescription *gameDesc)  	_suitcaseBmp(nullptr), _roomBmp(nullptr), _cursorNr(0), _picWindowX(0), _picWindowY(0), _randomSource("prince"),  	_invLineX(134), _invLineY(176), _invLine(5), _invLines(3), _invLineW(70), _invLineH(76), _maxInvW(72), _maxInvH(76),  	_invLineSkipX(2), _invLineSkipY(3), _showInventoryFlag(false), _inventoryBackgroundRemember(false), -	_mst_shadow(0), _mst_shadow2(0), _candleCounter(0) { +	_mst_shadow(0), _mst_shadow2(0), _candleCounter(0), _invX1(53), _invY1(18), _invWidth(536), _invHeight(438), +	_invCurInside(false) {  	// Debug/console setup  	DebugMan.addDebugChannel(DebugChannel::kScript, "script", "Prince Script debug channel"); @@ -1450,6 +1451,26 @@ void PrinceEngine::displayInventory() {  	_graph->drawTransparentSurface(0, 0, suitcase, 0);  	drawInvItems(); + +	Common::Rect _inventoryRect; +	_inventoryRect.left = _invX1; +	_inventoryRect.top = _invY1; +	_inventoryRect.right = _invX1 + _invWidth; +	_inventoryRect.bottom = _invY1 + _invHeight; +	Common::Point mousePos = _system->getEventManager()->getMousePos(); + +	if (!_invCurInside && _inventoryRect.contains(mousePos)) { +		_invCurInside = true; +	} + +	if (_invCurInside && !_inventoryRect.contains(mousePos)) { +		inventoryFlagChange(); +		_invCurInside = false; +	} +} + +void PrinceEngine::makeInvCursor() { +  }  void PrinceEngine::mainLoop() { diff --git a/engines/prince/prince.h b/engines/prince/prince.h index cb80529d4e..9259fe703a 100644 --- a/engines/prince/prince.h +++ b/engines/prince/prince.h @@ -290,6 +290,11 @@ public:  	int _maxInvH;  	int _invLineSkipX;  	int _invLineSkipY; +	int _invX1; +	int _invY1; +	int _invWidth; +	int _invHeight; +	bool _invCurInside;  	int _mst_shadow;  	int _mst_shadow2; // blinking after adding new item  	int _candleCounter; // special counter for candle inventory item @@ -301,6 +306,7 @@ public:  	void drawInvItems();  	void displayInventory();  	void addInvObj(); +	void makeInvCursor();  	int testAnimNr;  	int testAnimFrame;  | 
