diff --git a/src/g_level.cpp b/src/g_level.cpp index 019106d75..a71b481c9 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -432,10 +432,16 @@ void G_InitNew (const char *mapname, bool bTitleLevel) StatusBar->Destroy(); StatusBar = NULL; } + auto cls = PClass::FindClass("DoomStatusBar"); + if (bTitleLevel) { StatusBar = new DBaseStatusBar (0); } + else if (cls && gameinfo.gametype == GAME_Doom) + { + StatusBar = (DBaseStatusBar*)cls->CreateNew(); + } else if (SBarInfoScript[SCRIPT_CUSTOM] != NULL) { int cstype = SBarInfoScript[SCRIPT_CUSTOM]->GetGameType(); diff --git a/src/p_map.cpp b/src/p_map.cpp index ae3dfd0f2..ac5ca10a7 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -5011,7 +5011,7 @@ void P_RailAttack(FRailParams *p) DAngle angle = source->Angles.Yaw + p->angleoffset; DVector3 vec(DRotator(-pitch, angle, angle)); - double shootz = source->Center() - source->FloatSpeed + p->offset_z; + double shootz = source->Center() - source->FloatSpeed + p->offset_z - source->Floorclip; if (!(p->flags & RAF_CENTERZ)) {