From a3554130b4b87ef1f6e7932f1f7f44a963a64301 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Mon, 4 Dec 2023 01:38:52 +0100 Subject: [PATCH] Do not request autosaves when player is riding or swimming; removed unused starting/stopping functions --- scripts/_00e_autosavesystem_functions.pex | Bin 2520 -> 2226 bytes .../scripts/_00e_autosavesystem_functions.psc | 46 ++++-------------- 2 files changed, 10 insertions(+), 36 deletions(-) diff --git a/scripts/_00e_autosavesystem_functions.pex b/scripts/_00e_autosavesystem_functions.pex index 8f92b475adebd263a71c4ffb478607dad28f457e..39de2ed0d1b3d67f5adbd490297bd67cddd4fe9d 100644 GIT binary patch literal 2226 zcmbtU+g2Ml6g{%X;0sW~%|L*fHf>1K5If|Cn>HA*i601UOwzu24IUY$9c#Qs8VG;a zpXh79qECJ5mNa8%(yVl?j_mQdX`gepj{Mh8zx|QT5F^wqns!ekkPTQ1+>RWE@mzil_4Cg)b^}K&t@YT^9fn0MY{VQvjsNA8^%C zuHsZU2$9B!`6KaW=xO7E{Y@)q3&o>zH=waI-}AVjQZE#qud9JE_hZbZqEg>(I`#*g za;+eA6;1gXLf6n19)Cw!Ad&Mb6r9HEb#yhXlG6{PL8{g$=k`<>rTRm1cEd18)vZ)` zOk*7t`QkJ+JV}M8R4@o9t{f$KMui^&_mW4io2@kN5f$onUCCQFBInda(c>VcrHd)H zWn1ipgA=q+Xv-sU7{(|Z=FWvb80fT1ZQ1fq&lKdnP^c&jWK*~&0rzOEE%&+W(Ri%< zz*mhz~=LQzrIlrY(>8JJlA$Sf$&5u49gd;CFK0cZ2XW<`r$C@@szTV+bNt z*FnaBC+Fly9`vb@l3XR$rD+bTBR9A@?n(4z`+w=mGsm;XPGRp+S&C-t+rD_Y#b} z;1?F87z*@a<%v-2f=^+!WDd6}ZwIng9Z5BEqA*CkMBXQAXc+Eo4&x_UANX)*StxHBa-jfVKRQwL&Yj zYStR9(Yjf>k{r=AZJ2e3?qc1?dVp0mYm4;C&=}D;v;SGyKPhh|yfajwqHU%`6Iw`G zgO8zWhbEI)xJoodpCR21^gD}gXHCszRJ}+`sC$BL!nXpzRcw2{#AuDt=ZvN_CeyFE zDMr&UOftF&sm!Qiq#2VH&KZ2>@zr`3?semyyXMvq??-*{$tcGb^CcsTRfK?##rikM zTc3o?0`eP`~HGITeATS&;rL0{1{qEQdfU-K)BsQvU&2;~K z3<9G9-pKqO518f!+6F1f!;ra-fu5vqt%c#TE?}PZcTJW&fguW~EYVzD#u3@IT1L zS*&HRSx;0;2ce4B`f-a!YVCHIL~+tB)3|i<+Q&eZ={4N~fNc5zhyf5=fQ|z|n!=vc z4ee`5#k~+|j97T5-uK&VoV8EKz*AaAAN(#&HFVf#E5lk|bo)@oNl$)m_0+F#0+nbP z(^aH$&e{hVov|mTq0^wEW4wi zCn;a=hQ6lp!0qrzHJ&YQG zI_b)^{B76kvOe{7IsO>v)~Sr41#vk%{!O-YS%*+%Iqu6=&rHVui6#?I5{2H#5Zwi6%`-9AD&j2eVoNLrZ_(k54JvtTbtiM~YjsW6Ff~mWvs+9X|^9F#$_W zbe*9ZHCzV%qz|h=U2m>afiKt|Z!QAGQvuJ-oEawe?1qWb)$^Ew9i{b6a?(Q@Pp8q1 z`>4gSV|laVsvAuH0B-udiUt#y&R((EaZoNvjEgTQ!><_@vQEemZP64>W6hd%jsDM?r+K=Lb^DT4rZO#Iw z6TbJc9+<_ZAp*S(+BEz?w?t2{wyBEsG+ob$*9#L;z?+QfSo>I>S+9XmBpMNb!zcGU zjamu+SsDW*K1e-I6D$!;(iMKB-9VH;qw?s7+0U*F8Z$vNFy-e26$D)sG;QKbg2o~9 zkM(Cm5UdG-vnFtc9RhY_n4&qx<4UigX~JM;5qfkKX=JaHr86(+YeC-#x@Fk$-wcYl0|V0EgM{?= zjkLf{u5tli6mImK1$ZE6(YVp=MSN{k`Zy2f0@nM;| zN@VC^3WrXZ0`kyTnL3~7=LfawnuL(Mf+leocQf<||125hF}Q9CdLn4al%G1FLRvB* z+rX`wqL)nw)Te@$;WMfQc$TUd4+h6h-fYp9GW4D8^7oh%-o#P(t$>qJaZ-~|ZQq_l zGS&>ezzE_r*oVqY&$AqB5?dr!JrC@v8Q9e?`+%!8F}MU-dI@z0qqd7@!Df9W=w+I< zh7`L{uL#r8FUEA5NEjpR*SLw}&FZ%)8+89J2!!m>Gf&EVJ`286S7)z`DQa(t+X1 Q?}&N&0XXSLptc+T0s_#gbN~PV diff --git a/source/scripts/_00e_autosavesystem_functions.psc b/source/scripts/_00e_autosavesystem_functions.psc index 309dd5ea..f4caec0e 100644 --- a/source/scripts/_00e_autosavesystem_functions.psc +++ b/source/scripts/_00e_autosavesystem_functions.psc @@ -14,14 +14,10 @@ Scriptname _00E_AutoSaveSystem_Functions extends Quest ; 1: Unknown flag. Event OnUpdate() - - If bAutosaveSystemStopped - return - EndIf Actor PlayerREF = Game.GetForm(0x14) as Actor - If PlayerREF.IsInCombat() || ! Game.IsFightingControlsEnabled() || PlayerREF.IsDead() || Utility.IsInMenuMode() || UI.IsTextInputEnabled() || UI.IsMenuOpen("Dialogue Menu") + If PlayerREF.IsInCombat() || PlayerREF.IsOnMount() || PlayerREF.IsSwimming() || ! Game.IsFightingControlsEnabled() || PlayerREF.IsDead() || Utility.IsInMenuMode() || UI.IsTextInputEnabled() || UI.IsMenuOpen("Dialogue Menu") RegisterForSingleUpdate(5) return endif @@ -41,42 +37,20 @@ EndEvent ; called from _00E_AutosaveIntervalAlias to update ini setting fAutosaveEveryXMins in case it was changed Function UpdateAutoSaveInterval() - fUpdateTime = GetAutosaveEveryXMins() - RegisterForSingleUpdate(fUpdateTime*60) - -EndFunction - -Function StopAutosaveSystem() - bAutosaveSystemStopped = true - UnregisterForUpdate() -EndFunction - -Function ResumeAutosaveSystemInXMinutes(float _fMinutes = 0.0) + if SKSE.GetVersion() <= 0 + UnregisterForUpdate() + return + endif - If _fMinutes == 0.0 - _fMinutes = fUpdateTime - If _fMinutes <= 0.0 ; just in case - _fMinutes = 30 - EndIf + fUpdateTime = Utility.GetIniFloat("fAutosaveEveryXMins:SaveGame") + + If fUpdateTime <= 0.0 ; just in case + fUpdateTime = 30 EndIf - RegisterForSingleUpdate(_fMinutes*60) - bAutosaveSystemStopped = false + RegisterForSingleUpdate(fUpdateTime*60) EndFunction -float function GetAutosaveEveryXMins() - - float fUpdateMinutes = Utility.GetIniFloat("fAutosaveEveryXMins:SaveGame") - - If fUpdateMinutes <= 0.0 ; just in case - fUpdateMinutes = 30 - EndIf - - return fUpdateMinutes - -endfunction - -bool bAutosaveSystemStopped = false int iAutosaveIndex = 0 float fUpdateTime