What I have done is simply create two doormat objects. Place one inside the door, when the player is definitely Indoors, and another one outside the door, when the player is definitely outdoors. They both trigger a Boolean is_outdoors in the Control object when the Player collides with them. The wall object have the variable in_room. The value is 0 by default, but anything else if it is to be the indoors of a room. When Control.is_outdoors==True, all Wall objects win a in_room value of 0 are drawn, as well as the Roof, and Indoor Objects. If Control.is_outdoors==False, then the Wall objects whose in_room==Control.in_room are drawn, along with the Floor object. The Control.in_room is set by the Indoor object. Additionally, since the Player can now be obstructed from view, the Player draws itself with very low alpha after everything else has been drawn. So a "shadow" appears on top of everything, like Mario Sunshine.
This feature isn't done yet, for the most complicated part is yet to come, going upstairs, and downstairs. But before that, I'll work on the pause function. It is simple, and needs to be done anyway. Plus I can add controls to test various values and implementation to help fine tune the game. Like whether Static, Dynamic, or Gliding virtual joystick would be the best default implementation, or to just pick one from the three. The next update shouldn't be long, but the following one will.