switch(d) \ { \ case 0: \ if((iFlags & THMN_DoorNorth) == 0) {Pathing_TryNode()} \ break; \ case 1: \ if((iNFlags & THMN_DoorWest) == 0) {Pathing_TryNode()} \ break; \ case 2: \ if((iNFlags & THMN_DoorNorth) == 0) {Pathing_TryNode()} \ break; \ case 3: \ if((iFlags & THMN_DoorWest) == 0) {Pathing_TryNode()} \ break; \ } \ if(iFlags & THMN_CanTravelW) \ { \ TryNode(pNode - 1, 3); \ } \ if(iFlags & THMN_CanTravelE) \ { \ TryNode(pNode + 1, 1); \ } \ if(iFlags & THMN_CanTravelN) \ { \ TryNode(pNode - iWidth, 0); \ } \ if(iFlags & THMN_CanTravelS) \ { \ TryNode(pNode + iWidth, 2); \ } \ node_t *pTarget = m_pNodes + iEndY * iWidth + iEndX;