Bug: Walk cursor is erroneously displayed

Started by Old Guy, Wed 16/07/2008 19:20:13

Previous topic - Next topic

Old Guy

The Walk cursor is erroneously displayed in a room where the character is not visible.

I am using:
AGS 3.0.2.43
Game built using default game template
Windows 2000 SP4


Consider the scripts in the following two rooms:

//*---------------------------------*
// Room 51 (Character is visible)  *
//*---------------------------------*
function hDoor_MouseMove()
{
mouse.SaveCursorUntilItLeaves();
mouse.Mode = eModeInteract;
}

function hDoor_Interact()
{
player.Walk(125, 215, eBlock);
player.FaceLocation(player.x, 0, eBlock);
player.ChangeRoom(52);
}


//*-------------------------------------*
// Room 52 (Character is not visible)  *
//*-------------------------------------*
function hLeave_MouseMove()
{
mouse.SaveCursorUntilItLeaves();
mouse.Mode = eModeInteract;
}

function hLeave_AnyClick()
{
player.FaceLocation(player.x, 220);
player.ChangeRoom(player.PreviousRoom, 100, 220);
}


Here’s the sequence of events . . .

1) Character is standing at a door in Room 51, with the Walk cursor active. When mouse is moved over the door, the cursor changes to Interact, and we click on the door.

2) We are now in Room 52, with the Walk cursor erroneously displayed. When mouse is moved over the hLeave hotspot, the cursor changes to Interact, and we click on hotspot.

3) We are now back in Room 51, with the Walk cursor active, but now the character is unable to move. To regain the ability to move, you must cycle through the cursors until the Walk cursor is displayed again, then all is well.


Notes:

1) I use this same technique and scripts throughout the game, but this problem occurs only with these two rooms.

2) If any cursor but the Walk cursor is active when I move the mouse over the door and click on it, everything works fine.

3) When in Room 52, if I cycle through the cursors, the Walk cursor goes away and is (correctly) not available again. After doing this, and then returning to Room 52, the Walk cursor is displayed, the player is not stuck, and everything is fine.


This is really not a big issue for me, because I can easily work around the problem by including a "mouse.Mode = eModeLookat" when I Interact with the door, or when Room 52 is loaded, but I felt duty bound to report it.


Pumaman

Thanks for reporting this and providing all that detail.

I'm assuming this is some sort of problem with SaveCursorUntilItLeaves if you change room before it restores the cursor, so I'll investigate and see if I can reproduce it.


SMF spam blocked by CleanTalk