diff --git a/source/blood/src/view.h b/source/blood/src/view.h index cb3f2f682..a5437aad6 100644 --- a/source/blood/src/view.h +++ b/source/blood/src/view.h @@ -163,7 +163,6 @@ void InitStatusBar(void); void UpdateStatusBar(ClockTicks arg); void viewInit(void); void viewResizeView(int size); -void UpdateFrame(void); void viewDrawInterface(ClockTicks arg); void viewProcessSprites(int32_t cX, int32_t cY, int32_t cZ, int32_t cA, int32_t smooth); void CalcOtherPosition(spritetype *pSprite, int *pX, int *pY, int *pZ, int *vsectnum, int nAng, int zm); diff --git a/source/core/menu/imagescroller.cpp b/source/core/menu/imagescroller.cpp index 6affbb6ac..ef3784fce 100644 --- a/source/core/menu/imagescroller.cpp +++ b/source/core/menu/imagescroller.cpp @@ -99,6 +99,11 @@ void DImageScrollerMenu::Init(DMenu* parent, FImageScrollerDescriptor* desc) bool DImageScrollerMenu::MenuEvent(int mkey, bool fromcontroller) { + if (mDesc->mItems.Size() <= 1) + { + if (mkey == MKEY_Enter) mkey = MKEY_Back; + else if (mkey == MKEY_Right || mkey == MKEY_Left) return true; + } switch (mkey) { case MKEY_Back: @@ -127,7 +132,9 @@ bool DImageScrollerMenu::MenuEvent(int mkey, bool fromcontroller) case MKEY_Enter: if (pageTransition.previous == nullptr) { + int oldindex = index; if (++index >= (int)mDesc->mItems.Size()) index = 0; + auto next = newImageScreen(&mDesc->mItems[index]); next->canAnimate = canAnimate; if (!pageTransition.StartTransition(mCurrent, next, MA_Advance)) diff --git a/source/sw/src/player.cpp b/source/sw/src/player.cpp index 91c28bc72..94c69eaaa 100644 --- a/source/sw/src/player.cpp +++ b/source/sw/src/player.cpp @@ -4179,7 +4179,7 @@ DoPlayerWadeSuperJump(PLAYERp pp) SWBOOL PlayerFlyKey(void) { - SWBOOL key; + SWBOOL key = false; if (!GodMode) return FALSE;