aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/game/pet/pet_monitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/game/pet/pet_monitor.cpp')
-rw-r--r--engines/titanic/game/pet/pet_monitor.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/titanic/game/pet/pet_monitor.cpp b/engines/titanic/game/pet/pet_monitor.cpp
index 6a0d207a55..2716a81fa8 100644
--- a/engines/titanic/game/pet/pet_monitor.cpp
+++ b/engines/titanic/game/pet/pet_monitor.cpp
@@ -21,6 +21,8 @@
*/
#include "titanic/game/pet/pet_monitor.h"
+#include "titanic/core/room_item.h"
+#include "titanic/pet_control/pet_control.h"
namespace Titanic {
@@ -39,7 +41,23 @@ void CPETMonitor::load(SimpleFile *file) {
}
bool CPETMonitor::EnterRoomMsg(CEnterRoomMsg *msg) {
- warning("CPETMonitor::handleEvent");
+ bool flag = true;
+ if (msg->_newRoom && msg->_oldRoom) {
+ CString oldRoomName = msg->_oldRoom->getName();
+ CString newRoomName = msg->_newRoom->getName();
+
+ if (newRoomName == "SgtLobby" && oldRoomName == "SGTState")
+ flag = false;
+ }
+
+ if (flag) {
+ CPetControl *pet = getPetControl();
+ if (pet) {
+ pet->setRoomsRoomNum(0);
+ pet->resetRoomsHighlight();
+ }
+ }
+
return true;
}