I'm having an issue where sometimes my game completely locks up between switching rooms. This is occurring in debug mode, and I get the message "Switching to room...", but the new room is never displayed and control is never returned to player. Just "locked up". Frustrating part is that it's not easily reproducible, so I'm looking for help.
Right now, I'm suspicious of this code block in the newRoom method, which seems like it could explain the lockup:
...
(self startRoom: gRoomNumber)
(while ((= temp5 (Event new: 3)) type?)
(temp5 dispose:)
)
(temp5 dispose:)
...
...which is a head-scratcher. What is the point of the loop that generates events and checks to see if a type is defined until it breaks out of it?