diff --git a/language.version b/language.version index a2dfd9960..3f73df1bb 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r334 \cu(Mon 8 Mar 01:28:52 CET 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r334 \cu(2021-03-08 01:28:52)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r336 \cu(Mon 8 Mar 11:48:26 CET 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r336 \cu(2021-03-08 11:48:26)\c-"; diff --git a/zscript/handler/swwm_handler_worldload.zsc b/zscript/handler/swwm_handler_worldload.zsc index 4caab4c9c..f51e10486 100644 --- a/zscript/handler/swwm_handler_worldload.zsc +++ b/zscript/handler/swwm_handler_worldload.zsc @@ -142,15 +142,15 @@ extend Class SWWMHandler override void WorldLoaded( WorldEvent e ) { - if ( level.levelname ~== "Modder Test Map" ) - { - level.ReplaceTextures("-noflat-","kinstile",0); - S_ChangeMusic("music/CARDISH1.XM"); - } if ( !e.IsSaveGame && !e.IsReopen && (gamestate != GS_TITLELEVEL) ) AddOneliner("mapstart",3); if ( !e.IsSaveGame && !e.IsReopen ) { + if ( level.levelname ~== "Modder Test Map" ) + { + level.ReplaceTextures("-noflat-","kinstile",0); + S_ChangeMusic("music/CARDISH1.XM"); + } // doom vacation map01 hackaround for OPEN script not letting us // change certain line specials in levelpostprocessor because // HOLY FUCK IS EVERYTHING SHIT SOMETIMES @@ -273,5 +273,11 @@ extend Class SWWMHandler ClearAllShaders(players[consoleplayer]); // recheck queues in case limits changed RecheckQueues(); + // force a reset of the minimap zoom in case it's set beyond safe levels + double mmz = swwm_mm_zoom; + if ( players[consoleplayer].mo.FindInventory("Omnisight") && (mmz > 2.) ) mmz = 2.; + else if ( mmz > 1. ) mmz = 1.; + else mmz = .5; + CVar.FindCVar('swwm_mm_zoom').SetFloat(mmz); } } diff --git a/zscript/items/swwm_powerups.zsc b/zscript/items/swwm_powerups.zsc index 5fc583ba1..93c1bc9b7 100644 --- a/zscript/items/swwm_powerups.zsc +++ b/zscript/items/swwm_powerups.zsc @@ -1113,6 +1113,13 @@ Class Omnisight : Inventory // not used up, must be kept for the targetting features to work return false; } + override void DetachFromOwner() + { + // reset zoom on removal + if ( (Owner.player == players[consoleplayer]) && (swwm_mm_zoom > 1.) ) + CVar.FindCVar('swwm_mm_zoom').SetFloat(1.); + Super.DetachFromOwner(); + } override bool HandlePickup( Inventory item ) { if ( item.GetClass() == GetClass() )