From 64cbcba420843aa1bb0888b15592ad08fa17dc59 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 24 Jul 2017 08:09:00 -0400 Subject: TITANIC: Workaround Conversation area corruption when dragging items When dragging an item, the bounds for the area of the screen affected goes from the dragged item to the blinking cursor when the conversation tab is active. This rect overlapping the conversation area somehow starts erasing some of the conversation log. Despite some effort, I haven't been able to track down the exact cause. So the easiest workaround is simply to make the entire PET as dirty each frame when dragging an item, which seems to fix the problem. Though it would be nice, at some point, if the rooot cause could still be identified. --- engines/titanic/game_manager.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/engines/titanic/game_manager.cpp b/engines/titanic/game_manager.cpp index d3d9ced9d1..6079d6fef0 100644 --- a/engines/titanic/game_manager.cpp +++ b/engines/titanic/game_manager.cpp @@ -184,6 +184,11 @@ void CGameManager::update() { // Also include any modified area of the PET control if (_project) { CPetControl *pet = _project->getPetControl(); + + // FIXME: Distortion of text in Conversation tab when dragging items + if (_dragItem) + pet->makeDirty(); + if (pet) _bounds.combine(pet->getBounds()); } -- cgit v1.2.3