From 333757d04bdd75cc832399acacf6e14fe688e02c Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sun, 28 Mar 2021 11:25:27 +0200 Subject: [PATCH] Fix mouse input in episode/skill menus. --- language.version | 4 ++-- zscript/menu/swwm_menus.zsc | 39 +++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/language.version b/language.version index dc6af528f..2497765da 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r414 \cu(Fri 26 Mar 08:08:26 CET 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r414 \cu(2021-03-26 08:08:26)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r415 \cu(Sun 28 Mar 11:25:27 CEST 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r415 \cu(2021-03-28 11:25:27)\c-"; diff --git a/zscript/menu/swwm_menus.zsc b/zscript/menu/swwm_menus.zsc index 8b26bdcbe..51ee6ff1b 100644 --- a/zscript/menu/swwm_menus.zsc +++ b/zscript/menu/swwm_menus.zsc @@ -277,6 +277,7 @@ Class SWWMBigMenuHack : ListMenu { itm.OffsetPositionY(oy+56); // offset from static text header itm.OffsetPositionY(32*(j++)); // offset from other entries + ListMenuItemSelectable(itm).mHeight = 32; // also need to set the height so mouse selection works } else { @@ -325,7 +326,7 @@ Class SWWMBigMenuHack : ListMenu if ( isclean ) Screen.DrawText(markfont,Font.CR_FIRE,int((w-markfont.StringWidth(str))/2.),mofs+276,str,DTA_Clean,true); else Screen.DrawText(markfont,Font.CR_FIRE,int((w-markfont.StringWidth(str))/2.),mofs+276,str,DTA_VirtualWidth,w,DTA_VirtualHeight,h,DTA_FullscreenScale,FSMode_ScaleToFit43); } - for( int i=0; i ofs+7) ) + continue; + offsetme = true; + } + if ( offsetme ) mDesc.mItems[i].OffsetPositionY(-ofs*32); + else mDesc.mItems[i].OffsetPositionY(-65536); + } + bool res = Super.MouseEvent(type,x,y); + // unset offsets + for ( int i=0; i ofs+7) ) + continue; + offsetme = true; + } + if ( offsetme ) mDesc.mItems[i].OffsetPositionY(ofs*32); + else mDesc.mItems[i].OffsetPositionY(65536); + } + return res; + } } Class ListMenuItemSWWMStaticTextM : ListMenuItem @@ -588,7 +624,6 @@ class ListMenuItemSWWMTextItemM : ListMenuItemSelectable Screen.DrawTexture(tex,true,x-xofs,y+yofs,DTA_VirtualWidth,w,DTA_VirtualHeight,h,DTA_FullscreenScale,FSMode_ScaleToFit43,DTA_CenterOffset,true,DTA_Rotate,-15.*sin(8*Menu.MenuTime())); } } - } // for compat with non-text episodes