The body of this if runs when an FFC that was being dragged is dropped:
Subtracting constants from ffx and ffy in the set_ffc_data.{x,y} assigments does result in FFCs straddling the north and west screen edges.Code:if((ffx != offx) || (ffy != offy)) { auto set_ffc_data = set_ffc_command::create_data(Map.CurrScr()->ffcs[i]); set_ffc_data.x = ffx; set_ffc_data.y = ffy; Map.DoSetFFCCommand(Map.getCurrMap(), Map.getCurrScr(), i, set_ffc_data); saved = false; }