diff --git a/Console/Console.cpp b/Console/Console.cpp index 20cbc2b9..49aa27e7 100644 --- a/Console/Console.cpp +++ b/Console/Console.cpp @@ -4135,9 +4135,13 @@ void Console::SendTextToConsole(const wchar_t *pszText) { if (!pszText || (wcslen(pszText) == 0)) return; - BOOL c_state = m_pCursor->GetState(); - m_pCursor->SetState(FALSE); - DrawCursor(); + BOOL c_state = FALSE; + if (m_pCursor) + { + c_state = (m_pCursor != NULL && m_pCursor->GetState()); + m_pCursor->SetState(FALSE); + DrawCursor(); + } int idx = m_csbiCursor.dwCursorPosition.X + m_csbiCursor.dwCursorPosition.Y * m_dwColumns; @@ -4215,7 +4219,10 @@ void Console::SendTextToConsole(const wchar_t *pszText) { ::InvalidateRect( m_hWnd, &rectInval, TRUE); ::SetTimer(m_hWnd, TIMER_REPAINT_CHANGE, m_dwChangeRepaintInt, NULL); - m_pCursor->SetState(c_state); + if (m_pCursor) + { + m_pCursor->SetState(c_state); + } #if 0 HANDLE hStdIn = ::CreateFile(_T("CONIN$"), GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0); diff --git a/Tactical/Overhead.cpp b/Tactical/Overhead.cpp index e7ff93b4..1e96e9f9 100644 --- a/Tactical/Overhead.cpp +++ b/Tactical/Overhead.cpp @@ -2052,7 +2052,14 @@ BOOLEAN HandleGotoNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving, BOOLE EVENT_StopMerc( pSoldier, pSoldier->sGridNo, pSoldier->bDirection ); (*pfKeepMoving) = FALSE; - gpWorldLevelData[ sMineGridNo ].uiFlags |= MAPELEMENT_ENEMY_MINE_PRESENT; + if (pSoldier->bSide != 0) + { + gpWorldLevelData[ sMineGridNo ].uiFlags |= MAPELEMENT_ENEMY_MINE_PRESENT; + } + else + { + gpWorldLevelData[ sMineGridNo ].uiFlags |= MAPELEMENT_PLAYER_MINE_PRESENT; + } // better stop and reconsider what to do... SetNewSituation( pSoldier );