diff --git a/src/d_player.h b/src/d_player.h index d6b039896c..5ada741dc0 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -487,12 +487,15 @@ public: void Uncrouch() { - crouchfactor = FRACUNIT; - crouchoffset = 0; - crouchdir = 0; - crouching = 0; - crouchviewdelta = 0; - viewheight = mo->ViewHeight; + if (crouchfactor != FRACUNIT) + { + crouchfactor = FRACUNIT; + crouchoffset = 0; + crouchdir = 0; + crouching = 0; + crouchviewdelta = 0; + viewheight = mo->ViewHeight; + } } bool CanCrouch() const diff --git a/src/g_mapinfo.cpp b/src/g_mapinfo.cpp index 9dace3e237..dfcd2e6141 100644 --- a/src/g_mapinfo.cpp +++ b/src/g_mapinfo.cpp @@ -240,6 +240,7 @@ void level_info_t::Reset() flags2 = 0; else flags2 = LEVEL2_LAXMONSTERACTIVATION; + flags3 = 0; Music = ""; LevelName = ""; FadeTable = "COLORMAP"; diff --git a/src/m_cheat.cpp b/src/m_cheat.cpp index b6316f732a..1d80f13f26 100644 --- a/src/m_cheat.cpp +++ b/src/m_cheat.cpp @@ -136,7 +136,7 @@ void cht_DoCheat (player_t *player, int cheat) player->cheats &= ~CF_NOCLIP; msg = GStrings("STSTR_NCOFF"); } - player->mo->velx = 1; // force some lateral movement so that internal variables are up to date + if (player->mo->velx == 0) player->mo->velx = 1; // force some lateral movement so that internal variables are up to date break; case CHT_NOVELOCITY: